概念
Go语言使用的是UTF-8编码,占用1~4个字节,是不定长的,和其他语言不同,好处有
- 节省了内存和硬盘空间占用
- 不需要对UTF-8字符集的文本进行编码和解码
字符串是一种值类型,且值不可变。更深入地说,字符串是字节的定长数组
Go支持以下两种形式的字面值
- 解释字符串
- 使用双引号括起来
- 转义字符将被替换
- 非解释字符串
- 使用反引号 ``` 括起来
- 不会对转义字符进行替换
可以通过标准索引,即 str[2]
这种形式访问字符串的内容,不过值得注意的是,只对纯ASCLL码的字符串有效。应该是逐字节进行查找的,所以不适用其他内容
和C/C++不同的是,Go语言的字符串是根据长度限定的,而非特殊字符 \0
字符串拼接
+
号可以将多个字符串进行拼接: s := s1+ s2
不过在使用 +
的时候一定要注意,因为Go是自动补全分号 ;
的缘故, +
在跨行使用的时候一定不能留在下一行
使用 +=
符号也可以进行拼接
想要使用循环拼接多个字符串的时候, +
不是最有效率的办法,而是使用 strings.Join()
函数,或者字节缓冲 bytes.Buffer