phper 的Goland學習之路--- 字元和字串處理
阿新 • • 發佈:2019-01-01
1、把字串變成字元切片(字元陣列):(字元切片以位元組為基本單位)
ch := ( []byte)字串變數; // ch := ([]byte)("li離開"); 佔用 2+3+3 = 8個位元組
l | i | 離 | 離 | 離 | 開 | 開 | 開 | \0 |
---|
2、遍歷字串:
for i , ch := range varString{ // ch is a rune 型別(int32) }
如: s := “lipei華!”; //共佔用9個位元組;
(0 Unicode-l)(1 Unicode-i)(2 Unicode-p)(3 Unicode
3、獲取字串中字元的個數:utf8.RUneCountInString("六號li"); // 字元的個數是:4個
utf8.DecodeRune(p []byte)-- 解碼字元切片p中的第一個字元,返回解碼後的字元對應的int32(rune)和被解碼的字元佔用的位元組數
4、直接把字串轉換成int32切片:
格式: s := []rune("lipei華!");
每個字元使用四個位元組(int32)來表示;避免出現亂碼的問題
arr[0]==l | arr[1]==i | arr[3]==p | arr[4]==e | arr[5]==i | arr[6]==華 | arr[7 ]==i |
l | l | l | l | i | i | i | i | p | p | p | p | e | e | e | e | i | i | i | i | 華 | 華 | 華 | 華 | ! | ! | ! | ! |