go對字串格式化提供了良好的支援。下面我們看些常用的字串格式化的例子。
package mainimport (
"fmt""
os") type point
struct
func main()
fmt.printf(
"%v\n
", p)
//如果所格式化的值是乙個結構體物件,那麼`%+v`的格式化輸出
//將包括結構體的成員名稱和值
fmt.printf("
%+v\n
", p)
//`%#v`格式化輸出將輸出乙個值的go語法表示方式。
fmt.printf("
%#v\n
", p)
//使用`%t`來輸出乙個值的資料型別
fmt.printf("
%t\n
", p)
//格式化布林型變數
fmt.printf("
%t\n
", true
)
//有很多的方式可以格式化整型,使用`%d`是一種
//標準的以10進製來輸出整型的方式
fmt.printf("
%d\n
", 123
)
//這種方式輸出整型的二進位制表示方式
fmt.printf("
%b\n
", 14
)
//這裡列印出該整型數值所對應的字元
fmt.printf("
%c\n
", 33
)
//使用`%x`輸出乙個值的16進製表示方式
fmt.printf("
%x\n
", 456
)
//浮點型數值也有幾種格式化方法。最基本的一種是`%f`
fmt.printf("
%f\n
", 78.9
)
//`%e`和`%e`使用科學計數法來輸出整型
fmt.printf("
%e\n
", 123400000.0
) fmt.printf(
"%e\n
", 123400000.0
)
//使用`%s`輸出基本的字串
fmt.printf("
%s\n
", "
\"string\"")
//輸出像go原始碼中那樣帶雙引號的字串,需使用`%q`
fmt.printf("
%q\n
", "
\"string\"")
//`%x`以16進製制輸出字串,每個字串的位元組用兩個字元輸出
fmt.printf("
%x\n
", "
hex this")
//使用`%p`輸出乙個指標的值
fmt.printf("
%p\n
", &p)
//當輸出數字的時候,經常需要去控制輸出的寬度和精度。
//可以使用乙個位於%後面的數字來控制輸出的寬度,預設
//情況下輸出是右對齊的,左邊加上空格
fmt.printf("
|%6d|%6d|\n
", 12, 345
)
//你也可以指定浮點數的輸出寬度,同時你還可以指定浮點數
//的輸出精度
fmt.printf("
|%6.2f|%6.2f|\n
", 1.2, 3.45
)
//to left-justify, use the `-` flag.
fmt.printf("
|%-6.2f|%-6.2f|\n
", 1.2, 3.45
)
//你也可以指定輸出字串的寬度來保證它們輸出對齊。預設
//情況下,輸出是右對齊的
fmt.printf("
|%6s|%6s|\n
", "
foo", "b"
)
//為了使用左對齊你可以在寬度之前加上`-`號
fmt.printf("
|%-6s|%-6s|\n
", "
foo", "b"
)
//`printf`函式的輸出是輸出到命令列`os.stdout`的,你
//可以用`sprintf`來將格式化後的字串賦值給乙個變數
s := fmt.sprintf("
a %s
", "
string")
fmt.println(s)
//你也可以使用`fprintf`來將格式化後的值輸出到`io.writers`
fmt.fprintf(os.stderr, "
an %s\n
", "
error")
}
main.point
main.point
true
1231110
!1c8
78.900000
1.234000e+08
1.234000e+08
"string""
\"string\"
"6865782074686973
0xc042052070
| 12| 345|
| 1.20| 3.45|
|1.20 |3.45 |
| foo| b|
|foo |b |a
string
an error
Golang之字串格式化
go 之 字串格式化 package main import fmt type point struct func main fmt.println p,輸出乙個指標的值 fmt.printf p n p fmt.println v,輸出結構體的物件值 fmt.printf v n p 假設所格式化...
字串格式化
sprintf snprintf snprintf std stringstream std strstream boost lexical cast boost format cstring format 1 sprintf 使用 sprintf 不安全,輕則破壞資料的準確性,重則程式崩潰。請看下...
格式化字串
通常在使用字串的時候,會對字串進行格式化,然後輸出或呼叫 一般我們使用替換標記對字串進行格式化 string str1 string.format add is 1,2,3 而且在c 中的替換標記可以以任意順序和次數出現在格式化字串中,但替換值是按順序排的,而且替換標記不能超出索引範圍 string...