This commit is contained in:
Unknwon
2015-02-22 04:41:45 -05:00
parent 885d84ca62
commit d8608c6c23
4 changed files with 56 additions and 43 deletions

View File

@@ -9,7 +9,7 @@
## 翻译进度
8.2 [测试键值对是否存在及删除元素](eBook/08.2.md)
8.3 [for-range 的配套用法](eBook/08.3.md)
## 支持本书

View File

@@ -1,40 +1,46 @@
# 8.3 for-range 的配套用法
190
可以使用 for 循环构造 map
可以使用for循环构造map
```go
for key, value := range map1 {
...
}
```
第一个返回值 key 是 map 中的 key 值,第二个返回值则是该 key 对应的 value 值;这两个都是仅 for 循环内部可见的局部变量。其中第一个返回值key值是一个可选元素。如果你只关心值可以这么使用
```go
for _, value := range map1 {
...
}
```
如果只想获取 key你可以这么使用
```go
for key := range map1 {
fmt.Printf("key is: %d\n", key)
}
```
示例 8.5 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
```go
package main
import "fmt"
func main() {
map1 := make(map[int]float32)
map1[1] = 1.0
map1[2] = 2.0
map1[3] = 3.0
map1[4] = 4.0
for key, value := range map1 {
...
fmt.Printf("key is: %d - value is: %f\n", key, value)
}
第一个返回值key是map中的key值第二个返回值则是该key对应的value值这两个都是仅for循环内部可见的局部变量。其中第一个返回值key值是一个可选元素。如果你只关心值可以这么使用
for _, value := range map1 {
...
}
如果只想获取key你可以这么使用
for key := range map1 {
fmt.Printf("key is: %d\n", key)
}
示例 8.5 [maps_forrange.go](examples/chapter_8/maps_forrange.go)
package main
import "fmt"
func main() {
map1 := make(map[int]float32)
map1[1] = 1.0
map1[2] = 2.0
map1[3] = 3.0
map1[4] = 4.0
for key, value := range map1 {
fmt.Printf("key is: %d - value is: %f\n", key, value)
}
}
}
```
输出结果:
@@ -47,16 +53,19 @@
问题 8.1 下面这段代码的输出是什么?
capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
for key := range capitals {
fmt.Println("Map item: Capital of", key, "is", capitals[key])
}
```go
capitals := map[string] string {"France":"Paris", "Italy":"Rome", "Japan":"Tokyo" }
for key := range capitals {
fmt.Println("Map item: Capital of", key, "is", capitals[key])
}
```
练习 8.1 map_days.go
**练习 8.1**
创建一个map来保存每周7天的名字将它们打印出来并且测试是否存在tuesday和hollyday。
##链接
## 链接
- [目录](directory.md)
- 上一节:[删除元素](08.2.md)
- 下一节:[maps分片](08.4.md)
- 上一节:[测试键值对是否存在及删除元素](08.2.md)
- 下一节:[map 分片](08.4.md)

View File

@@ -1,4 +1,7 @@
#8.3 map分片
# 8.3 map 分片
191
假设我们想获取一个map的分片我们必须使用两次make()方法第一次分配slice第二次分配slice的每个map元素参见下面的例子8.3)。
示例 8.3 [maps_forrange.go](examples/chapter_8/maps_forrange.go)

View File

@@ -69,6 +69,7 @@
- 8.1 [声明、初始化和 make](08.1.md)
- 8.2 [测试键值对是否存在及删除元素](08.2.md)
- 8.3 [for-range 的配套用法](08.3.md)
- 8.4 [map 分片](08.4.md)
- 第9章package
- 第10章结构struct与方法method
- 第11章接口interface与反射reflection