【原创翻译】字符串(string)

 ̄綄美尐妖づ 提交于 2020-03-03 00:42:22

正如我们第二章提到的,字符串是一组具有特定长度的、描述文本的字符序列。通常来说,字符串里的字符各占用一个字节(如中文之类的其他语言的字符占用一个以上的字节)。

字符串字面量由双引号"Hello World"或者反引号`Hello World`创建。它们的区别在于,双引号不能换行但可以有特殊字符转移。比方说\n会被替换成换行,而\t会被替换成制表符。

常用的字符串操作包括获取字符串长度:len("Hello World") ,获取字符串中的特定字符:"Hello World"[1],将两个字符串连接起来:"Hello "+" World"。让我们修改之前的程序来做个测试:

package main
import "fmt"
func main() {
fmt.Println(len("Hello World"))
fmt.Println("Hello World"[1])
fmt.Println("Hello " + "World")
}

需要注意以下事情:

  1. 空格也占用字符,所以字符串的长度是11而不是10,打印的第三行是"Hello "而不是"Hello"。

  2. 字符串的字符从0开始索引,而不是1。[1]以为着取第二个元素,而不是第一个。当你运行程序的时候,你会注意到你看见的是101而不是e。这是因为字符是用字节表示的(字节是整数型的)。

    有一种表示字符串索引的方式:"Hello World"1 。你可以理解它为“字符串Hello World的子元素1”、“字符串Hello World的第1位”或“字符串Hello World的第二个字符”。

  3. 字符串连接跟加法使用相同的操作符。Go编译器由参数的类型决定做何种处理。由于+号的两边都是字符串,编译器推测你想表达的是连接字符串,而不是做加法(加法对字符串没有意义)。


原文地址:http://www.zingscript.com/translate/golang-book


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!