This commit is contained in:
Unknown
2014-11-05 18:12:28 -05:00
parent ff809d956a
commit ee65c4cf95
4 changed files with 24 additions and 20 deletions

View File

@@ -9,7 +9,7 @@
## 翻译进度
7.2 [For-range 结构](eBook/07.2.md)
7.3 [For-range 结构](eBook/07.3.md)
## 支持本书

View File

@@ -1,13 +1,12 @@
# 7.3 For-range 结构
172
这种构建方法可以应用与数组和 slice:
这种构建方法可以应用与数组和slice:
for ix, value := range slice1 {
...
}
第一个返回值dx是数组或者slice的索引第二个是在该索引位置的值他们都是仅在for循环内部可见的局部变量所以该值只是该索引项slice值的一个拷贝并且不能被修改。
第一个返回值 dx 是数组或者 slice 的索引,第二个是在该索引位置的值;他们都是仅在 for 循环内部可见的局部变量,所以该值只是该索引项 slice 值的一个拷贝并且不能被修改。
示例 7.9 [slices_forrange.go](exmaples/chapter_7/slices_forrange.go)
@@ -43,7 +42,7 @@
}
}
slices_forrange2.go给出了一个关于字符串的例子 `_`可以用于忽略索引
slices_forrange2.go 给出了一个关于字符串的例子 `_` 可以用于忽略索引
如果你只需要索引你可以忽略第二个变量例如
@@ -52,11 +51,11 @@ slices_forrange2.go给出了一个关于字符串的例子 `_`可以用于忽
}
// Output: 0 1 2 3
如果你需要修改seasons[ix]的值可以使用这个版本
如果你需要修改 seasons[ix] 的值可以使用这个版本
多维slice下的for range方法
多维 slice 下的 for-range 方法
通过计算行数和矩阵值可以很方便的写出如参考7.1.3的for-loops方法来例如参考7.5的例子multidim_array.go
通过计算行数和矩阵值可以很方便的写出如参考 7.1.3 for-loops 方法来例如参考 7.5 节的例子 multidim_array.go
for row := range screen {
for column := range screen[0] {
@@ -64,33 +63,34 @@ slices_forrange2.go给出了一个关于字符串的例子 `_`可以用于忽
}
}
问题 7.5 假设我们有如下slice items := [...]int{10, 20, 30, 40, 50}
问题 7.5 假设我们有如下 slice`items := [...]int{10, 20, 30, 40, 50}`
a) 如果我们写了如下的for循环那么执行完for循环后的item的值是多少如果你不确定的话可以测试一下:)
a) 如果我们写了如下的 for 循环那么执行完 for 循环后的 item 的值是多少如果你不确定的话可以测试一下:)
for _, item := range items {
item *= 2
}
b) 如果a)无法正常工作写一个for循环让值可以double
b) 如果 a) 无法正常工作写一个 for 循环让值可以 double
问题 7.6 通过使用省略号操作符`...`来实现累加方法
问题 7.6 通过使用省略号操作符 `...` 来实现累加方法
练习
练习 7.7 sum_array.go
a) 写一个Sum函数传入参数为一个4位float数组成的数组arrF返回该数组的所有数字和
a) 写一个 Sum 函数传入参数为一个 4 float 数组成的数组 arrF返回该数组的所有数字和
如果把数组修改为slice的话代码要做怎样的修改如果用slice形式方法实现不同长度数组的的和呢
如果把数组修改为 slice 的话代码要做怎样的修改如果用 slice 形式方法实现不同长度数组的的和呢
b) 写一个SumAndAverage方法返回两个int和float32类型的未命名变量的和与平均值
b) 写一个 SumAndAverage 方法返回两个 int float32 类型的未命名变量的和与平均值
练习 7.8 min_max.go
写一个minSlice方法传入一个int的slice并且返回最小值再写一个maxSlice方法返回最大值
写一个 minSlice 方法传入一个 int slice 并且返回最小值再写一个 maxSlice 方法返回最大值
## 链接
##链接
- [目录](directory.md)
- 上一节[](07.2.md)
- 下一节[片重组](07.4.md)
- 上一节[](07.2.md)
- 下一节[片重组](07.4.md)

View File

@@ -1,4 +1,7 @@
#7.4 片重组
# 7.4 片重组
175
我们已经知道slice创建的时候通常比相关数组小例如
slice1 := make([]type, start_length, capacity)

View File

@@ -62,6 +62,7 @@
- 7.1 [声明和初始化](07.1.md)
- 7.2 [切片](07.2.md)
- 7.3 [For-range 结构](07.3.md)
- 7.4 [切片重组](07.4.md)
- 第8章Maps
- 第9章package
- 第10章结构struct与方法method