佔位符
一般佔位符
符號 | 說明 |
---|---|
%v | 相應值的默認格式, 一般用在輸出結構體數據中 |
%+v | 在打印結構體時,默認格式,會添加字段名 |
%#v | 相應值的 Go 語法表示 |
%T | 打印類型 |
%% | 字面上的百分號,並非值的佔位符 |
示例
type person struct {
age int
name string
}
func main() {
var p person
p.name = "xx"
p.age = 18
fmt.Printf("%T\n",p)
fmt.Printf("%v\n",p)
fmt.Printf("%+v\n",p)
fmt.Printf("%#v\n",p)
}
結果:
main.person
{18 xx}
{age:18 name:xx}
main.person{age:18, name:"xx"}
布爾佔位符
符號 |
說明 |
---|---|
%t |
單詞 true 或 false |
整數佔位符
%b 二進制表示
%c 相應 Unicode 碼點所表示的字符
%d 十進制表示
%+d 帶符號的十進制表
%o 八進制表示
%x 十六進制表示,字母形式爲小寫 a-f
%X 十六進制表示,字母形式爲大寫 A-F
%U Unicode 格式:U+1234,等同於 "U+%04X"
浮點數及其複合構成佔位符
%b 無小數部分的,指數爲二的冪的科學計數法,與 strconv.FormatFloat 的 'b' 轉換格式一致。例如 -123456p-78
%e 科學計數法,例如 -1234.456e+78
%E 科學計數法,例如 -1234.456E+78
%f 有小數點而無指數,例如 123.456
%.2f 保留小數點後兩位
%.2g 保留2位數字
%G 根據情況選擇 %E 或 %f 以產生更緊湊的(無末尾的 0)輸出
字符串與字節切片佔位符
符號 |
說明 |
---|---|
%s | 字符串或切片的無解譯字節 |
%q | 單引號圍繞的字符串,由 Go 語法安全地轉義 |
%x | 十六進制,小寫字母,每字節兩個字符 |
%X | 十六進制,大寫字母,每字節兩個字符 |
fmt.Printf("%q",97) // 輸出a。 ascii碼 97對應的就是a
fmt.Printf("%q",0x4E2D) // 輸出'中'。
指針佔位符
符號 |
說明 |
---|---|
%p |
十六進制表示,前綴 0x |
fmt.Printf("%p",&person{})
輸出:0xc00008a020
編碼
fmt.Println("dsadsa","a", 'a') // dsadsa a 97
雙引號的爲字符串,單引號的是字符,
fmt.Println(len("hello望京")) // 11 len輸出的是字符的個數。utf-8,中文佔3各字節,1個字節是8位(bit)。一個bit是一個01
編碼類型的轉換在後面的類型轉換篇會有
如果對你有幫助,可否在文章右側點個贊再走呢~~
本文爲原創,轉載請註明出處