1. 程式人生 > >phper 的Goland學習之路--- 字元和字串處理

phper 的Goland學習之路--- 字元和字串處理

1、把字串變成字元切片(字元陣列):(字元切片以位元組為基本單位)

            ch := ( []byte)字串變數;   // ch  := ([]byte)("li離開");   佔用 2+3+3 = 8個位元組

字元切片
li\0
離:佔用三個位元組;   開:佔3個位元組

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

-e)(4 Unicode-i)(5 Unicode編碼-華,佔3位元組) (8 Unicode- !)

3、獲取字串中字元的個數:utf8.RUneCountInString("六號li");  // 字元的個數是:4個

    utf8.DecodeRune(p []byte)-- 解碼字元切片p中的第一個字元,返回解碼後的字元對應的int32(rune)和被解碼的字元佔用的位元組數

      

4、直接把字串轉換成int32切片:

        格式:  s := []rune("lipei華!");

每個字元使用四個位元組(int32)來表示;避免出現亂碼的問題

arr[0]==larr[1]==i   arr[3]==p  arr[4]==earr[5]==i      arr[6]==華 arr[7 ]==i
ll
lliiiippppeeeeiiii!!!