概述
字符串的本质
在编程语言中,字符串发挥着重要的角色。字符串背后的数据结构一般有两种类型:
- 一种在编译时指定长度,不能修改
- 一种具有动态的长度,可以修改。
比如:与Python 中的字符串一样,Go 语言中的字符串不能被修改,只能被访问。
在 Python 中,如果改变一个字符串的值会得到如下结果:
>>> hi = "Hello" >>> hi 'Hello' >>> hi[0] = 'h' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment >>>
同理,在 Go 中也一样:
package main import "fmt" func main() { var hello = "Hello" hello[1] = 'h' fmt.Println(hello) } // # command-line-arguments // string_in_go/main.go:8:11: cannot assign to hello[1] (strings are immutable)
字符串的终止方式有两种:
- 一种是 C 语言的隐式声明,以字符 “