// 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)
// 假設所格式化的值是乙個結構體物件。那麼`%+v`的格式化輸出
fmt.println("*****%+v,輸出結構體的成員名稱和值====")
fmt.printf("%+v\n", p)
fmt.println("*****%#v,輸出乙個值的go語法表示方式====")
fmt.printf("%#v\n",p)
fmt.println("*****%t,輸出乙個值的資料型別====")
fmt.printf("%t\n",p)
// 當輸出數字的時候,常常須要去控制輸出的寬度和精度。
// 能夠使用乙個位於%後面的數字來控制輸出的寬度。預設情況下輸出是右對齊的,左邊加上空格
fmt.println("*****控制輸出的寬度和精度====")
fmt.printf("|%5d|%5d|\n",12,345)
fmt.println("*****輸出寬度,同一時候指定浮點數====")
fmt.printf("|%5.2f|%5.2f|\n",1.2,3.45)
fmt.println("*****左對齊====")
fmt.printf("|%-5.2f|%-5.2f|\n",1.2,3.45)
}
*****%d,輸出十進位制====110
*****%b,輸出二進位制====
1101110
*****%c,輸出乙個值的字元(char)====
a *****%x,輸出乙個值的十六進製制,每乙個字串的位元組用兩個字元輸出====
0xa
616263
*****%f,輸出浮點型數值====
27.890000
*****%s,輸出基本字串====
i-am-batu
*****%q,輸出帶雙引號的字串====
「string」
*****%p,輸出乙個指標的值====
0xc82000a410
*****%v,輸出結構體的物件值====
*****%+v,輸出結構體的成員名稱和值====
*****%#v,輸出乙個值的go語法表示方式====
main.point
*****%t,輸出乙個值的資料型別====
main.point
*****控制輸出的寬度和精度====
| 12| 345|
*****輸出寬度,同一時候指定浮點數====
| 1.20| 3.45|
*****輸出寬度,同一時候指定浮點數====
|1.20 |3.45 |
Golang字串格式化
go對字串格式化提供了良好的支援。下面我們看些常用的字串格式化的例子。package main import fmt os type point struct func main fmt.printf v n p 如果所格式化的值是乙個結構體物件,那麼 v 的格式化輸出 將包括結構體的成員名稱和值 ...
字串格式化
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...