mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 20:02:56 +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,18 +1,16 @@
|
||||
# 7.4 切片重组
|
||||
|
||||
175
|
||||
|
||||
我们已经知道slice创建的时候通常比相关数组小,例如
|
||||
我们已经知道 slice 创建的时候通常比相关数组小,例如
|
||||
|
||||
slice1 := make([]type, start_length, capacity)
|
||||
|
||||
其中start_length作为slice初始长度而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可以反复扩展直到占据整个相关数组。
|
||||
slice 可以反复扩展直到占据整个相关数组。
|
||||
|
||||
|
||||
示例 7.11 [reslicing.go](exmaples/chapter_7/reslicing.go)
|
||||
@@ -36,6 +34,7 @@ slice可以反复扩展直到占据整个相关数组。
|
||||
}
|
||||
|
||||
输出结果:
|
||||
|
||||
The length of slice is 1
|
||||
The length of slice is 2
|
||||
The length of slice is 3
|
||||
@@ -68,11 +67,12 @@ slice可以反复扩展直到占据整个相关数组。
|
||||
|
||||
问题 7.7:
|
||||
|
||||
1) 如果a是一个slice,那么s[n:n]的长度是多少?
|
||||
1) 如果 a 是一个 slice,那么 s[n:n] 的长度是多少?
|
||||
|
||||
2) s[n:n+1]的长度又是多少?
|
||||
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