Go語言從入門到精通 字元型別

2021-09-12 20:58:45 字數 1003 閱讀 1265

字串中的每乙個元素叫做「字元」,在遍歷或者單個獲取字串元素時可以獲得字元。

go 語言的字元有以下兩種:

使用 fmt.printf 中的%t動詞可以輸出變數的實際型別,使用這個方法可以檢視 byte 和 rune 的本來型別,**如下:

var a byte = 'a'

fmt.printf("%d %t\n", a, a)

var b rune = '你'

fmt.printf("%d %t\n", b, b)

例子輸出結果:

97 uint8

20320 int32

可以發現,byte 型別的 a 變數,實際型別是 uint8,其值為 『a』,對應的 ascii 編碼為 97。

rune 型別的 b 變數的實際型別是 int32,對應的 unicode 碼就是 20320。

go 使用了特殊的 rune 型別來處理 unicode,讓基於 unicode 的文字處理更為方便,也可以使用 byte 型進行預設字串處理,效能和擴充套件性都有照顧。

unicode 是字符集,ascii 也是一種字符集。

字符集為每個字元分配乙個唯一的 id,我們使用到的所有字元在 unicode 字符集中都有唯一的乙個 id 對應,例如上面例子中的 a 在 unicode 與 ascii 中的編碼都是 97。「你」在 unicode 中的編碼為 20320,但是在不同國家的字符集中,「你」的 id 會不同。而無論任何情況下,unicode 中的字元的 id 都是不會變化的。

根據這個規則,拉丁文語系的字元編碼一般情況下,每個字元依然占用乙個位元組,而中文每個字元占用 3 個位元組。

廣義的 unicode 指乙個標準,定義字符集及編碼規則,即 unicode 字符集和 utf-8、utf-16 編碼等。

本小節主要講解了go語言中什麼是字串的字元型別,以及字元型別byte和rune是什麼,還有就是由utf-8 和 unicode編碼的字串都有何區別。

Go語言從入門到精通 資料型別

在 go 程式語言中,資料型別用於宣告函式和變數。資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。go 語言按類別有以下幾種資料型別 序號型別和描述 1布林型 布林型的值只可以是常量 true 或者 false。乙個簡...

Go語言從入門到精通 資料型別

在 go 程式語言中,資料型別用於宣告函式和變數。資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。go 語言按類別有以下幾種資料型別 序號型別和描述 1布林型 布林型的值只可以是常量 true 或者 false。乙個簡...

Go語言從入門到精通 資料型別轉換

go 語言使用型別前置加括號的方式進行型別轉換,一般格式如下 t 表示式 其中,t 代表要轉換的型別。表示式包括變數 複雜算數和函式返回值等。型別轉換時,需要考慮兩種型別的關係和範圍,是否會發生數值截斷等,參見下面 package main import fmt math func main 說明如...