日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Go语言fmt包详解

發布時間:2023/12/29 综合教程 54 生活家
生活随笔 收集整理的這篇文章主要介紹了 Go语言fmt包详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

格式化輸出函數

fmt包含有格式化I/O函數,類似于C語言的printf和scanf。格式字符串的規則來源于C,但更簡單一些

1.print和println方法

print輸出給定的字符串,如果是數值或字符,則輸出對應的十進制表示

fmt.Print("a", "
")      //輸出a  
fmt.Print("a", "b", "
") //輸出ab  
fmt.Print('a', "
")      //輸出97  
fmt.Print('a', 'b', "
") //輸出97 98   字符之間會輸出一個空格  
fmt.Print(12, "
")       //輸出12  
fmt.Print(12, 13, "
")   //輸出12 13   數值之間輸出一個空格

Println自動在結尾輸出
,兩個數值之間自動加空格,每項之間自動加空格

fmt.Println("---------------------------------")  
fmt.Println("a")          //輸出a  
fmt.Println("a", "b")     //輸出a b  
fmt.Println('a')          //輸出97  
fmt.Println('a', 'b')     //輸出97 98  
fmt.Println(12)           //輸出12  
fmt.Println(12, 13)       //輸出12 13  
fmt.Println("
", 12, 13) //輸出 12 13   12之前有一個空格

2、以下為printf方法的格式說明:

printf 格式化輸出

定義變量示例

type Human struct {
    Name string
}

var people = Human{Name:"春生"}

普通占位符

占位符
說明
舉例
輸出
%v
 相應值的默認格式
fmt.Printf("%v", name)
{春生}
%+v 
打印結構體時,會添加字段名
fmt.Printf("%+v", people)
main.Human{Name:"zhangsan"}
%#v 
相應值的Go語法表示
fmt.Printf("%#v",people)
main.Human{Name:"春生"}
%T
相應值的類型的Go語法表示
fmt.Printf("%T",people)
main.Human
%%
字面上的百分號
fmt.Printf("%%")
%

布爾占位符

占位符
說明 舉例 輸出
%t 
true 或 false。
fmt.Printf("%t",true)
true

整數占位符

占位符 說明 舉例 輸出
%b  
二進制表示
fmt.Printf("%b", 5)
101
%c
 相應Unicode碼點所表示的字符
fmt.Printf("%c", 0x4E2D)
%d
十進制表示
fmt.Printf("%d", 0x12)
18
%o
 八進制表示
fmt.Printf("%d", 10)
12
%q 
單引號圍繞的字符字面值,由Go語法安全地轉義
fmt.Printf("%q", 0x4E2D)
'中'
%x 十六進制表示,字母形式為小寫 a-f
fmt.Printf("%x", 13)
d

%X

十六進制表示,字母形式為大寫 A-F
fmt.Printf("%x", 13)
D
%U Unicode格式:U+1234,等同于 "U+%04X"
fmt.Printf("%U", 0x4E2D)
U+4E2D

浮點數和復數的組成部分(實部和虛部)

占位符 說明 舉例
%e (=%.6e) 6位小數點
科學計數法,例如 -1234.456e+78
fmt.Printf("%e", 10.2)
%E 科學計數法,例如 -1234.456E+78 fmt.Printf("%e", 10.2)
%f (=%.6f) 6位小數點
有小數點而無指數,例如 123.456
fmt.Printf("%f", 10.2)
%g 根據情況選擇 %e 或 %f 以產生更緊湊的(無末尾的0)輸出 fmt.Printf("%g", 10.20)
%G 根據情況選擇 %E 或 %f 以產生更緊湊的(無末尾的0)輸出 fmt.Printf("%G", 10.20+2i)

字符串與字節切片

占位符 說明 舉例
%s 輸出字符串表示(string類型或[]byte) fmt.Printf("%s", []byte("oldboy"))
%10s 輸出字符串最小寬度為10(右對齊) fmt.Printf("%10s", "oldboy")
%-10s 輸出字符串最小寬度為10(左對齊) fmt.Printf("%-10s", "oldboy")
%.5s 輸出字符串最大寬度為5 fmt.Printf("%.5s", "oldboy")
%5.10s 輸出字符串最小寬度為5,最大寬度為10 fmt.Printf("%5.10s", "oldboy")
%-5.10s 輸出字符串最小寬度為5,最大寬度為10(左對齊) fmt.Printf("%-5.10s", "oldboy")
%5.3s 輸出字符串寬度為5,如果原字符串寬度大于3,則截斷 fmt.Printf("%5.3s", "oldboy")
%010s 如果寬度小于10,就會在字符串前面補零 fmt.Printf("%010s", "oldboy")
%q 雙引號圍繞的字符串,由Go語法安全地轉義 fmt.Printf("%q", "oldboy")
%x 十六進制,小寫字母,每字節兩個字符 fmt.Printf("%x", "oldboy")
%X 十六進制,大寫字母,每字節兩個字符 fmt.Printf("%X", "oldboy")

指針

占位符 說明 舉例
%p 十六進制表示,前綴 0x fmt.Printf("%p", &site)
%#p 不帶前綴 0x fmt.Printf("%#p", &site)

總結

以上是生活随笔為你收集整理的Go语言fmt包详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。