golang string的理解,双引号、反引号、单引号的区别

原创 学习 GO
阅读数: 1554 2019年08月30日

string 就是多个字符按顺序拼接的,每个字符一个数字。
能转换成 []byte、[]uint32、[]uint64(字符转换成数字的时候,使用 byte或uint8 就够了,所以一般不会使用 []int32 []int64)
可以理解成,字符串就是按切片方式拆分成数组,每个字符就是一个元素。相互之间可以转换:

s := "abc"
c := []byte(s) //转成切片
s2 := string(c) //转成字符串


一个字符对应的是一个数字,比如:abc  = 97 98 99
string 转换之后,变成字符串显示。

这个特点被用来修改字符串:

s := "abc"
c := []byte(s) //转成切片
c[0] = 'e' //跟换第0个位置的字符
s2 := string(c) //转成字符串


涉及到单引号问题:
golang 里面字符串使用双引号(非原样输出)或反引号(原样输出,不转义),但是如果使用单引号来标示字符,将得到这个字符的“utf-8编码的值”
所以在上面 c[0] = 'e' 修改字符的时候,使用单引号。

双引号、反引号、单引号的区别例子:

var string a = "你好" 
fmt.Println(a)  会输出你好 //输出转义后的字符串
var string b = `不好\n` 则会输出 不好\n //原样输出
var rune c = '你'   //会输出你的utf-8编码的值


phpriji.cn | 网站地图 | 沪ICP备17015433号-1