Files
the-way-to-go_ZH_CN/eBook/08.3.md
Guobiao Mei 07d26e14d1 Fix links to the code examples
Change-Id: I644c6a516abab2577353644c128102457deeb41a
2014-12-18 16:49:46 -05:00

60 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#8.3 for循环构造方法
可以使用for循环构造map
for key, value := range map1 {
...
}
第一个返回值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)
}
}
输出结果:
key is: 3 - value is: 3.000000
key is: 1 - value is: 1.000000
key is: 4 - value is: 4.000000
key is: 2 - value is: 2.000000
注意到map不是按照key的顺序排列的也不是按照value的序排列的。
问题 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])
}
练习 8.1 map_days.go
创建一个map来保存每周7天的名字将它们打印出来并且测试是否存在tuesday和hollyday。
##链接
- [目录](directory.md)
- 上一节:[删除元素](08.2.md)
- 下一节:[maps分片](08.4.md)