the-way-to-go_ZH_CN
Search…
Introduction
前言
第一部分:学习 Go 语言
第1章:Go 语言的起源,发展与普及
第2章:安装与运行环境
第3章:编辑器、集成开发环境与其它工具
第二部分:语言的核心结构与技术
第4章:基本结构和基本数据类型
第5章:控制结构
第6章:函数(function)
第7章:数组与切片
第8章:Map
声明、初始化和 make
测试键值对是否存在及删除元素
for-range 的配套用法
map 类型的切片
map 的排序
将 map 的键值对调
第9章:包(package)
第10章:结构(struct)与方法(method)
第11章:接口(interface)与反射(reflection)
第三部分:Go 高级编程
第12章:读写数据
第13章:错误处理与测试
第14章:协程(goroutine)与通道(channel)
第15章:网络、模版与网页应用
第四部分:实际应用
第16章:常见的陷阱与错误
第17章:模式
第18章:出于性能考虑的实用代码片段
第19章:构建一个完整的应用程序
第20章:Go 语言在 Google App Engine 的使用
第21章:实际部署案例
附录
A 代码引用
B 有趣的 Go 引用
C 代码示例列表
D 书中的包引用
E 书中的工具引用
F 常见问题解答
G 习题答案
H 参考文献
Powered By
GitBook
for-range 的配套用法
可以使用 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
:
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 来保存每周 7 天的名字,将它们打印出来并且测试是否存在 Tuesday 和 Hollyday。
链接
目录
上一节:
测试键值对是否存在及删除元素
下一节:
map 类型的切片
Previous
测试键值对是否存在及删除元素
Next
map 类型的切片
Last modified
3yr ago
Copy link