概念

Go语言使用的是UTF-8编码,占用1~4个字节,是不定长的,和其他语言不同,好处有

  • 节省了内存和硬盘空间占用
  • 不需要对UTF-8字符集的文本进行编码和解码

字符串是一种值类型,且值不可变。更深入地说,字符串是字节的定长数组

Go支持以下两种形式的字面值

  • 解释字符串
    • 使用双引号括起来
    • 转义字符将被替换
  • 非解释字符串
    • 使用反引号 ``` 括起来
    • 不会对转义字符进行替换

可以通过标准索引,即 str[2] 这种形式访问字符串的内容,不过值得注意的是,只对纯ASCLL码的字符串有效。应该是逐字节进行查找的,所以不适用其他内容

和C/C++不同的是,Go语言的字符串是根据长度限定的,而非特殊字符 \0

字符串拼接

+ 号可以将多个字符串进行拼接: s := s1+ s2

不过在使用 + 的时候一定要注意,因为Go是自动补全分号 ; 的缘故, + 在跨行使用的时候一定不能留在下一行

使用 += 符号也可以进行拼接

想要使用循环拼接多个字符串的时候, + 不是最有效率的办法,而是使用 strings.Join() 函数,或者字节缓冲 bytes.Buffer