phper 的Goland学习之路--- 字符和字符串处理

1、把字符串变成字符切片(字符数组):(字符切片以字节为基本单位)

            ch := ( []byte)字符串变量;   // ch  := ([]byte)("li离开");   占用 2+3+3 = 8个字节

字符切片
l i \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)和被解码的字符占用的字节数

      phper 的Goland学习之路--- 字符和字符串处理

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 ! ! !

           phper 的Goland学习之路--- 字符和字符串处理


phper 的Goland学习之路--- 字符和字符串处理

phper 的Goland学习之路--- 字符和字符串处理