Golang之字串格式化

2022-08-26 17:57:17 字數 1657 閱讀 8378

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