溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Go語(yǔ)言字符串怎么格式化

發(fā)布時(shí)間:2021-08-27 17:08:30 來(lái)源:億速云 閱讀:103 作者:chen 欄目:數(shù)據(jù)庫(kù)

這篇文章主要介紹“Go語(yǔ)言字符串怎么格式化”,在日常操作中,相信很多人在Go語(yǔ)言字符串怎么格式化問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Go語(yǔ)言字符串怎么格式化”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

Go對(duì)字符串格式化提供了良好的支持。下面我們看些常用的字符串格式化的例子。

package mainimport "fmt"import "os"type point struct {    x, y int}func main() {    // Go提供了幾種打印格式,用來(lái)格式化一般的Go值,例如    // 下面的%v打印了一個(gè)point結(jié)構(gòu)體的對(duì)象的值    p := point{1, 2}    fmt.Printf("%v\n", p)    // 如果所格式化的值是一個(gè)結(jié)構(gòu)體對(duì)象,那么`%+v`的格式化輸出    // 將包括結(jié)構(gòu)體的成員名稱和值    fmt.Printf("%+v\n", p)    // `%#v`格式化輸出將輸出一個(gè)值的Go語(yǔ)法表示方式。    fmt.Printf("%#v\n", p)    // 使用`%T`來(lái)輸出一個(gè)值的數(shù)據(jù)類型    fmt.Printf("%T\n", p)    // 格式化布爾型變量    fmt.Printf("%t\n", true)    // 有很多的方式可以格式化整型,使用`%d`是一種    // 標(biāo)準(zhǔn)的以10進(jìn)制來(lái)輸出整型的方式    fmt.Printf("%d\n", 123)    // 這種方式輸出整型的二進(jìn)制表示方式    fmt.Printf("%b\n", 14)    // 這里打印出該整型數(shù)值所對(duì)應(yīng)的字符    fmt.Printf("%c\n", 33)    // 使用`%x`輸出一個(gè)值的16進(jìn)制表示方式    fmt.Printf("%x\n", 456)    // 浮點(diǎn)型數(shù)值也有幾種格式化方法。最基本的一種是`%f`    fmt.Printf("%f\n", 78.9)    // `%e`和`%E`使用科學(xué)計(jì)數(shù)法來(lái)輸出整型    fmt.Printf("%e\n", 123400000.0)    fmt.Printf("%E\n", 123400000.0)    // 使用`%s`輸出基本的字符串    fmt.Printf("%s\n", "\"string\"")    // 輸出像Go源碼中那樣帶雙引號(hào)的字符串,需使用`%q`    fmt.Printf("%q\n", "\"string\"")    // `%x`以16進(jìn)制輸出字符串,每個(gè)字符串的字節(jié)用兩個(gè)字符輸出    fmt.Printf("%x\n", "hex this")    // 使用`%p`輸出一個(gè)指針的值    fmt.Printf("%p\n", &p)    // 當(dāng)輸出數(shù)字的時(shí)候,經(jīng)常需要去控制輸出的寬度和精度。    // 可以使用一個(gè)位于%后面的數(shù)字來(lái)控制輸出的寬度,默認(rèn)    // 情況下輸出是右對(duì)齊的,左邊加上空格    fmt.Printf("|%6d|%6d|\n", 12, 345)    // 你也可以指定浮點(diǎn)數(shù)的輸出寬度,同時(shí)你還可以指定浮點(diǎn)數(shù)    // 的輸出精度    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)    // 你也可以指定輸出字符串的寬度來(lái)保證它們輸出對(duì)齊。默認(rèn)    // 情況下,輸出是右對(duì)齊的    fmt.Printf("|%6s|%6s|\n", "foo", "b")    // 為了使用左對(duì)齊你可以在寬度之前加上`-`號(hào)    fmt.Printf("|%-6s|%-6s|\n", "foo", "b")    // `Printf`函數(shù)的輸出是輸出到命令行`os.Stdout`的,你    // 可以用`Sprintf`來(lái)將格式化后的字符串賦值給一個(gè)變量    s := fmt.Sprintf("a %s", "string")    fmt.Println(s)    // 你也可以使用`Fprintf`來(lái)將格式化后的值輸出到`io.Writers`    fmt.Fprintf(os.Stderr, "an %s\n", "error")}

運(yùn)行結(jié)果

{1 2}{x:1 y:2}main.point{x:1, y:2}main.pointtrue1231110!1c878.9000001.234000e+081.234000E+08"string""\"string\""68657820746869730xc000092000|    12|   345||  1.20|  3.45||1.20  |3.45  ||   foo|     b||foo   |b     |a stringan error

到此,關(guān)于“Go語(yǔ)言字符串怎么格式化”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI