本文共 903 字,大约阅读时间需要 3 分钟。
先上图,看懂图基本就能看懂关系了,看完图就再看看代码巩固~~
go语言中字符都是utf-8编码,常用汉字在utf-8中一个字符一般占三个字节var s = "t测试"// 1.打印byte数据类型s1 := []byte(s)t1 := []uint8(s)fmt.Println("byte:", s1)fmt.Println("uint8:", t1)// 结果为:// byte:[116 230 181 139 232 175 149]// uint8:[116 230 181 139 232 175 149]// 2.打印rune数据类型var s2 = []rune(s)var t2 = []int32(s)fmt.Println("rune:", s2)fmt.Println("int32:", t2)// 结果为:// [116 27979 35797]// [116 27979 35797]// 3.打印range遍历字符串for i, v := range s { fmt.Println(i, "=>", v)}// 结果为:// 0 => 116// 1 => 27979// 4 => 35797// 4.打印range遍历bytefor i, v := range s1 { //通过“string()”格式化v fmt.Println(i, "=>", v, string(v))}// 显示结果(有些乱码没有显示全)// 0 => 116 t// 1 => 230 æ// 2 => 181 µ// 3 => 139 ‹// 4 => 232 è// 5 => 175 ¯// 6 => 149 // 5.打印range遍历runefor i, v := range s2 { //和“4.···遍历byte”的打印要求一致,只是写法不同 //通过“%c”格式化v fmt.Printf("%d => %v %c\n", i, v, v)}// 显示结果// 0 => 116 t// 1 => 27979 测// 2 => 35797 试
转载地址:http://jvkpi.baihongyu.com/