您还可以将一个字符串追加到某一个字符数组的尾部:
var b []byte
var s string
b = append(b, s...)
例如,将字符串 "hello" 转换为 "cello":
s := "hello"
c := []byte(s)
c[0] = ’c’
s2 := string(c) // s2 == "cello"
所以,您可以通过操作切片来完成对字符串的操作。
7.6.7 append 函数常见操作
我们在第 7.5 节提到的 append 非常有用,它能够用于各种方面的操作:
- 将切片 b 的元素追加到切片 a 之后:
a = append(a, b...)
-
复制切片 a 的元素到新的切片 b 上:
b = make([]T, len(a)) copy(b, a)
-
删除位于索引 i 的元素:
a = append(a[:i], a[i+1:]...)
- 切除切片 a 中从索引 i 至 j 位置的元素:
a = append(a[:i], a[j:]...)
- 为切片 a 扩展 j 个元素长度:
a = append(a, make([]T, j)...)
- 在索引 i 的位置插入元素 x:
a = append(a[:i], append([]T{x}, a[i:]...)...)
- 在索引 i 的位置插入长度为 j 的新切片:
a = append(a[:i], append(make([]T, j), a[i:]...)...)
- 在索引 i 的位置插入切片 b 的所有元素:
a = append(a[:i], append(b, a[i:]...)...)
- 取出位于切片 a 最末尾的元素 x:
x, a = a[len(a)-1], a[:len(a)-1]
- 将元素 x 追加到切片 a:
a = append(a, x)
在声明的时候不需要知道 map 的长度,map 是可以动态增长的。
未初始化的 map 的值是 nil。