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的基本操作,包括:

  1. 创建并初始化map
  2. 读取元素
  3. 检查元素是否存在
  4. 添加新元素
  5. 使用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的无序特性,每次运行的输出顺序可能不同。

回到顶部