Golang字串格式化

2022-03-23 00:08:23 字數 2893 閱讀 9836

go對字串格式化提供了良好的支援。下面我們看些常用的字串格式化的例子。

package main

import (

"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...