diff --git a/README.md b/README.md index 5a06551..c51d491 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ## 翻译进度 -7.3 [For-range 结构](eBook/07.3.md) +7.4 [切片重组](eBook/07.4.md) ## 支持本书 diff --git a/eBook/07.4.md b/eBook/07.4.md index 237608b..7df3e38 100644 --- a/eBook/07.4.md +++ b/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) \ No newline at end of file +- 上一节:[For-range 结构](07.3.md) +- 下一节:[切片的复制与追加](07.5.md) \ No newline at end of file diff --git a/eBook/07.5.md b/eBook/07.5.md index f605089..2b0db97 100644 --- a/eBook/07.5.md +++ b/eBook/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) diff --git a/eBook/directory.md b/eBook/directory.md index 478784d..2b915a1 100644 --- a/eBook/directory.md +++ b/eBook/directory.md @@ -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)