Go by Example 中文 字串格式化

2021-10-06 10:15:49 字數 3072 閱讀 4976

go 在傳統的printf 中對字串格式化提供了優異的支援。這裡是一些基本的字串格式化的人物的例子。

下面是go的源**示例程式:

// go by example 中文:字串格式化

// // go 在傳統的printf 中對字串格式化提供了優異的支援。這裡是一些基本的字串格式化的人物的例子。

package main

import

"fmt"

import

"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進行標準的十進位制格式化。

fmt.

printf

("%d\n"

,123

)// 這個輸出二進位制表示形式。

fmt.

printf

("%b\n",14

)// 這個輸出給定整數的對應字元。

fmt.

printf

("%c\n",14

)// %x 提供十六進製制編碼

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 輸出使用 base-16 編碼的字串,每個位元組使用 2 個字元表示。

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

)// 要左對齊,使用 - 標誌

fmt.

printf

("|%-6.2f|%-2.6f|\n"

,1.2

,3.45

)// 你也許也想控制字串輸出時的寬度,特別是要確保他們在類**輸出時的對齊。

// 這是基本的右對齊寬度表示。

fmt.

printf

("|%-5s|%-6s|\n"

,"foo"

,"b"

)// 到目前為止,我們已經看過 printf了,它通過 os.stdout輸出格式化的字串。

// sprintf 則格式化並返回乙個字串而不帶任何輸出。

s := fmt.

sprintf

("a %s"

,"string"

) fmt.

println

(s)// 你可以使用 fprintf 來格式化並輸出到 io.writers而不是 os.stdout。

fmt.

fprintf

(os.stderr,

"an %s\n"

,"error"

)}

程式執行結果如下:

$ go run string-formatting.go

main.point

main.point

true

1231110

!1c8

78.900000

1.234000e+08

1.234000e+08

"string"

"\"string\""

6865782074686973

0x42135100

| 12| 345|

| 1.20| 3.45|

|1.20 |3.45 |

| foo| b|

|foo |b |

a string

an error

下乙個例子: 正規表示式

@mmcgrana 編寫 | everyx 翻譯 | 專案位址 | license

中文字符集

gb2312 1980年 16位字符集,收錄有6763個簡體漢字,682個符號,共7445個字元。優點 適用於簡體中文環境,屬於中國國家標準,通行於大陸,新加坡等地也使用此編碼 缺點 不相容正體中文,其漢字集合過少。gbk 1995年 16位字符集,收錄有21003個漢字,883個符號,共21886...

設定中文字符集

目錄 二 漢字的編碼 三 設定linux的字符集 四 lang環境變數 五 修改客戶端的字符集 六 字符集轉換工具 七 應用經驗 字元編碼是一種法則,在數字與符號之間建立的對應關係。不同的國家有不同的語言,包含的文字 標點符號 圖形符號各有不同。例如在ascii編碼中,用數字97表達字元 a 與字符...

mysql中文字符集問題

mysql分為客戶端,伺服器端!客戶端的字符集gbk 這是不可變的 而伺服器端能識別基本所有的字符集 這麼多種字符集!為了避免中文亂碼的問題 我們可以告訴伺服器端 我們的客服端是什麼字符集!set character set client gbk 而且還要告訴伺服器返回的資料的字符集是什麼?set ...