Golang中如何向map添加元素
Golang中如何向map添加元素 根据这些指示……使用之前示例中的代码,向你的映射添加一条记录。现在使用"range"循环打印出映射。
这段代码有什么问题:
package main
import "fmt"
func main() {
m := map[string]int{
"James": 32,
"Miss Moneypenny": 27,
}
fmt.Println(m)
fmt.Println(m["James"])
fmt.Println(m["Q"])
v, ok := m["Q"]
fmt.Println(v)
fmt.Println(ok)
m["Q"] = 33
if v, ok := m["Miss Moneypenny"]; ok {
fmt.Println("这是if打印", v)
}
for k, v := range m {
fmt.Println(k, v)
}
}
更多关于Golang中如何向map添加元素的实战教程也可以访问 https://www.itying.com/category-94-b0.html
3 回复
你漏掉了一个右引号,因此 Go 会将你想用作映射访问键的字符串扩展到本应开始 grandma 字符串的引号处。
更多关于Golang中如何向map添加元素的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
https://play.golang.org/p/BEpO90T6lFm
成功运行了!感谢您的帮助!
这段代码本身没有语法或逻辑错误,能够正常编译和运行。它完整地演示了Go语言中map的基本操作,包括:
- 创建并初始化map
- 读取元素
- 检查元素是否存在
- 添加新元素
- 使用range循环遍历map
代码执行结果会显示:
- 初始map内容
- James的年龄值
- Q的初始值(不存在时为0)
- 检查Q是否存在的布尔值
- 添加Q后的map遍历结果
以下是代码的完整执行示例:
package main
import "fmt"
func main() {
m := map[string]int{
"James": 32,
"Miss Moneypenny": 27,
}
fmt.Println(m) // map[James:32 Miss Moneypenny:27]
fmt.Println(m["James"]) // 32
fmt.Println(m["Q"]) // 0
v, ok := m["Q"]
fmt.Println(v) // 0
fmt.Println(ok) // false
m["Q"] = 33 // 向map添加新元素
if v, ok := m["Miss Moneypenny"]; ok {
fmt.Println("这是if打印", v) // 这是if打印 27
}
for k, v := range m {
fmt.Println(k, v)
// 输出示例(顺序可能不同):
// James 32
// Miss Moneypenny 27
// Q 33
}
}
代码正确地完成了向map添加元素和使用range循环打印map的要求。range循环会遍历map中的所有键值对,但由于map的无序特性,每次运行的输出顺序可能不同。

