This commit is contained in:
Unknown
2014-11-07 22:07:08 -05:00
parent ee65c4cf95
commit 767bbb6870
4 changed files with 18 additions and 14 deletions

View File

@@ -9,7 +9,7 @@
## 翻译进度
7.3 [For-range 结构](eBook/07.3.md)
7.4 [切片重组](eBook/07.4.md)
## 支持本书

View File

@@ -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)

View File

@@ -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)

View File

@@ -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