@@ -108,7 +108,35 @@ func main() {
108108
109109切片的构造,有三种方式
110110
111- 1 . 对数组进行片段截取(上面例子已经展示:myarr[ 0:2] ,0是索引起始值,2是索引终止值,区间左半右开)
111+ 1 . 对数组进行片段截取(上面例子已经展示:myarr[ 0:2] ,0是索引起始值,2是索引终止值,区间左半右开),当你使用这种方式生成切片对象时,切片的容量会从截取的起始索引到原数组的终止索引
112+
113+ 如下这段代码所示,切片从索引值 1 开始,到原数组终止索引值5,中间还可以容纳4个元素,所以容量为 4,但是由于我们切片的时候只要求取到索引值2 (3-1),所以当我们对这个切片进行打印时,并不会打印索引值3,4,5 对应的元素值。
114+
115+ ``` go
116+ package main
117+
118+ import " fmt"
119+
120+ func main (){
121+ myarr := [5 ]int {1 ,2 ,3 ,4 ,5 }
122+ fmt.Printf (" myarr 的长度为:%d ,容量为:%d \n " , len (myarr), cap (myarr))
123+
124+ mysli := myarr[1 :3 ]
125+ fmt.Printf (" mysli 的长度为:%d ,容量为:%d \n " , len (mysli), cap (mysli))
126+
127+ fmt.Println (mysli)
128+ }
129+ ```
130+
131+ 输出如下
132+
133+ ```
134+ myarr 的长度为:5,容量为:5
135+ mysli 的长度为:2,容量为:4
136+ [2,3]
137+ ```
138+
139+
112140
1131412 . 从头声明赋值(例子如下)
114142
@@ -126,7 +154,7 @@ func main() {
1261543 . 使用 make 函数构造,make 函数的格式:` make( []Type, size, cap ) `
127155
128156 这个函数刚好指出了,一个切片具备的三个要素:类型(Type),长度(size),容量(cap)
129-
157+
130158 ``` go
131159 import (
132160 " fmt"
@@ -138,17 +166,17 @@ func main() {
138166 fmt.Println (a, b)
139167 fmt.Println (len (a), len (b))
140168 fmt.Println (cap (a), cap (b))
141- }
169+ }
142170 ```
143171
144172 输出 如下
145-
173+
146174 ```
147175 [0 0] [0 0]
148176 2 2
149177 2 10
150178 ```
151-
179+
152180
153181关于 len 和 cap 的概念,可能不好理解 ,这里举个例子:
154182
@@ -207,9 +235,13 @@ func main() {
207235
208236
209237
210- 最后,给你留一道思考题,如下 这段代码
238+ ## 3. 思考题
239+
240+ 最后,给你留道思考题。
211241
212242``` go
243+ package main
244+
213245import (
214246 " fmt"
215247)
@@ -233,8 +265,6 @@ myslice的第四个元素为: 8
233265
234266
235267
236-
237-
238268---
239269
240270![ ] ( http://image.python-online.cn/image-20200320125724880.png )
0 commit comments