Printf() 函數可以使用多種格式化動詞對輸出進行格式化。下麵是可以與所有數據類型一起使用的一些通用格式化動詞: **通用格式化動詞:** 以下動詞適用於所有數據類型: |動詞|描述| |-|-| |`%v`|以預設格式列印值| |`%#v`|以 Go 語法格式列印值| |`%T`|列印值的類型 ...
Printf() 函數可以使用多種格式化動詞對輸出進行格式化。下麵是可以與所有數據類型一起使用的一些通用格式化動詞:
通用格式化動詞:
以下動詞適用於所有數據類型:
動詞 | 描述 |
---|---|
%v |
以預設格式列印值 |
%#v |
以 Go 語法格式列印值 |
%T |
列印值的類型 |
%% |
列印百分號 |
示例:
package main
import (
"fmt"
)
func main() {
var i = 15.5
var txt = "Hello World!"
fmt.Printf("%v\n", i)
fmt.Printf("%#v\n", i)
fmt.Printf("%v%%\n", i)
fmt.Printf("%T\n", i)
fmt.Printf("%v\n", txt)
fmt.Printf("%#v\n", txt)
fmt.Printf("%T\n", txt)
}
結果:
15.5
15.5
15.5%
float64
Hello World!
"Hello World!"
string
整數格式化動詞
以下動詞適用於整數數據類型:
動詞 | 描述 |
---|---|
%b |
二進位 |
%d |
十進位 |
%+d |
帶符號的十進位 |
%o |
八進位 |
%O |
八進位(帶 0o 首碼) |
%x |
十六進位(小寫) |
%X |
十六進位(大寫) |
%#x |
帶 0x 首碼的十六進位 |
%4d |
使用空格填充(寬度 4,右對齊) |
%-4d |
使用空格填充(寬度 4,左對齊) |
%04d |
使用零填充(寬度 4) |
示例:
package main
import (
"fmt"
)
func main() {
var i = 15
fmt.Printf("%b\n", i)
fmt.Printf("%d\n", i)
fmt.Printf("%+d\n", i)
fmt.Printf("%o\n", i)
fmt.Printf("%O\n", i)
fmt.Printf("%x\n", i)
fmt.Printf("%X\n", i)
fmt.Printf("%#x\n", i)
fmt.Printf("%4d\n", i)
fmt.Printf("%-4d\n", i)
fmt.Printf("%04d\n", i)
}
結果:
1111
15
+15
17
0o17
f
F
0xf
15
15
0015
字元串格式化動詞
以下動詞適用於字元串數據類型:
動詞 | 描述 |
---|---|
%s |
普通字元串列印 |
%q |
雙引號包裹的字元串列印 |
%8s |
普通字元串列印(寬度 8,右對齊) |
%-8s |
普通字元串列印(寬度 8,左對齊) |
%x |
位元組值的十六進位轉儲 |
% x |
帶空格的十六進位轉儲 |
示例:
package main
import (
"fmt"
)
func main() {
var txt = "Hello"
fmt.Printf("%s\n", txt)
fmt.Printf("%q\n", txt)
fmt.Printf("%8s\n", txt)
fmt.Printf("%-8s\n", txt)
fmt.Printf("%x\n", txt)
fmt.Printf("% x\n", txt)
}
結果:
Hello
"Hello"
Hello
Hello
48656c6c6f
48 65 6c 6c 6f
布爾格式化動詞
以下動詞適用於布爾數據類型:
動詞 | 描述 |
---|---|
%t |
布爾運算符的 true 或 false 格式(與 %v 相同) |
示例:
package main
import (
"fmt"
)
func main() {
var i = true
var j = false
fmt.Printf("%t\n", i)
fmt.Printf("%t\n", j)
}
結果:
true
false
浮點數格式化動詞
以下動詞適用於浮點數數據類型:
動詞 | 描述 |
---|---|
%e |
科學計數法,指數為 'e' |
%f |
小數點,無指數部分 |
%.2f |
預設寬度,精度為 2 |
%6.2f |
寬度 6,精度 2 |
%g |
必要時使用指數,僅保留必要的位數 |
示例:
package main
import (
"fmt"
)
func main() {
var i = 3.141
fmt.Printf("%e\n", i)
fmt.Printf("%f\n", i)
fmt.Printf("%.2f\n", i)
fmt.Printf("%6.2f\n", i)
fmt.Printf("%g\n", i)
}
結果:
3.141000e+00
3.141000
3.14
3.14
3.141
請註意,這個翻譯可能不是完美的,因為語言之間的表達方式可能有細微的差異。
最後
為了方便其他設備和平臺的小伙伴觀看往期文章,鏈接奉上:
公眾號搜索Let us Coding
,知乎,開源中國,CSDN,思否,掘金,InfoQ,簡書,博客園,慕課,51CTO,helloworld,騰訊開發者社區,阿裡開發者社區
看完如果覺得有幫助,歡迎點贊、收藏和關註