mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 22:53:43 +08:00
07.4
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
|
||||
## 翻译进度
|
||||
|
||||
7.3 [For-range 结构](eBook/07.3.md)
|
||||
7.4 [切片重组](eBook/07.4.md)
|
||||
|
||||
## 支持本书
|
||||
|
||||
|
@@ -1,16 +1,14 @@
|
||||
# 7.4 切片重组
|
||||
|
||||
175
|
||||
|
||||
我们已经知道 slice 创建的时候通常比相关数组小,例如
|
||||
|
||||
slice1 := make([]type, start_length, capacity)
|
||||
|
||||
其中 start_length 作为 slice 初始长度而 capacity 作为相关数组的长度。
|
||||
|
||||
这么做的好处是我们的slice在达到容量上限后可以扩容。改变slice长度的过程称之为分片重组`reslicing`,做法如下:slice1 = slice1[0:end],其中end是新的末尾索引(即长度)。
|
||||
这么做的好处是我们的 slice 在达到容量上限后可以扩容。改变 slice 长度的过程称之为切片重组 **reslicing**,做法如下:`slice1 = slice1[0:end]`,其中 end 是新的末尾索引(即长度)。
|
||||
|
||||
将slice扩展1位可以这么做: sl = sl[0:len(sl)+1]
|
||||
将 slice 扩展 1 位可以这么做:`sl = sl[0:len(sl)+1]`
|
||||
|
||||
slice 可以反复扩展直到占据整个相关数组。
|
||||
|
||||
@@ -36,6 +34,7 @@ slice可以反复扩展直到占据整个相关数组。
|
||||
}
|
||||
|
||||
输出结果:
|
||||
|
||||
The length of slice is 1
|
||||
The length of slice is 2
|
||||
The length of slice is 3
|
||||
@@ -73,6 +72,7 @@ slice可以反复扩展直到占据整个相关数组。
|
||||
2) s[n:n+1] 的长度又是多少?
|
||||
|
||||
## 链接
|
||||
|
||||
- [目录](directory.md)
|
||||
- 上一节:[For range构建方法](07.3.md)
|
||||
- 下一节:[拷贝与追加slice](07.5.md)
|
||||
- 上一节:[For-range 结构](07.3.md)
|
||||
- 下一节:[切片的复制与追加](07.5.md)
|
@@ -1,4 +1,7 @@
|
||||
#7.5 拷贝与追加slice
|
||||
# 7.5 切片的复制与追加
|
||||
|
||||
176
|
||||
|
||||
如果想增加slice的容量,我们必须创建一个新的更大的slice并把原分片的内容都拷贝过来。下面的代码描述了从拷贝slice的copy方法和向slice追加新元素的append方法。
|
||||
|
||||
示例 7.12 [copy_append_slice.go](exmaples/chapter_7/copy_append_slice.go)
|
||||
|
@@ -63,6 +63,7 @@
|
||||
- 7.2 [切片](07.2.md)
|
||||
- 7.3 [For-range 结构](07.3.md)
|
||||
- 7.4 [切片重组](07.4.md)
|
||||
- 7.5 [切片的复制与追加](07.5.md)
|
||||
- 第8章:Maps
|
||||
- 第9章:包(package)
|
||||
- 第10章:结构(struct)与方法(method)
|
||||
|
Reference in New Issue
Block a user