Go 学习笔记之 字符串数据类型
一个字符串是一个不可改变的字节序列。字符串可以包含任意的数据,包括 byte 值 0,但是通常是用来包含人类可读的文本。文本字符串通常被解释为采用 UTF8 编码的 Unicode 码点(rune)序列。
操作
+操作符将两个字符串连接构造一个新字符串:
复制代码
内置的 len 函数可以返回一个字符串中的字节数目(不是 rune 字符数目),索引操作 s[i]返回第 i 个字节的字节值,i 必须满足 0 ≤ i< len(s)条件约束。
复制代码
因为字符串是不可修改的,因此尝试修改字符串内部数据的操作也是被禁止的:
复制代码
字符串面值
字符串值也可以用字符串面值方式编写,只要将一系列字节序列包含在双引号内即可:
复制代码
因为 Go 语言源文件总是用 UTF8 编码,并且 Go 语言的文本字符串也以 UTF8 编码的方式处理,因此我们可以将 Unicode 码点也写到字符串面值中。
UTF-8
UTF8 编码使用 1 到 4 个字节来表示每个 Unicode 码点,ASCII 部分字符只使用 1 个字节,常用字符部分使用 2 或 3 个字节表示。
Go 语言的 range 循环在处理字符串的时候,会自动隐式解码 UTF8 字符串
复制代码
作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长
关注并私信我回复“01”,送你一份程序员成长进阶大礼包,欢迎勾搭。
Thanks for reading!
版权声明: 本文为 InfoQ 作者【架构精进之路】的原创文章。
原文链接:【http://xie.infoq.cn/article/38af310cc7b4b496a77919ef4】。文章转载请联系作者。
评论