Menu
CoddyTech

映射

Coddy Go 中的切片和映射 课程的第 17 课,共 21 课。

映射是一种集合类型,就像数组和切片一样。它以键值对的形式存储数据,并支持快速查找值。

声明映射的语法如下:

products := map[string]int{}

与声明数组和切片的变量类似,我们可以使用短声明(:=),也可以使用 var 关键字,后面跟上名称,再跟上 map 关键字,并在方括号内指定键的类型,最后指定值类型或元素类型。

 

切片和数组也是键值类型,但键只是索引。在映射中,只要某种类型可以比较,就可以用它作为键。通常使用 int 和 string 类型。

映射中的所有元素都应为相同类型,不能在同一个映射中混用不同类型。

我们来初始化映射:

products := map[string]int{
   "iPhone": 1200,
   "MacBook": 4000,
   "Keyboard": 400,
}

与切片和数组类似,我们可以使用键访问元素。在这里,键就是我们为每个元素定义的内容。例如,要获取键盘的价格:

fmt.Println("The Price of Keyboard:", products["Keyboard"])

输出:

The Price of Keyboard: 400

我们可以像打印切片一样,打印映射中的所有元素:

fmt.Println(products)

结果如下:

map[iPhone:1200 MacBook:4000 Keyboard:400]

 

challenge icon

挑战

简单

我们有一组书,每本书的页数各不相同,具体如下:

  • Python 书有 300 页
  • Golang 书有 400 页
  • Rust 书有 500 页

使用 map 实现这一点,并将 Golang 书的页数打印到屏幕上。

亲手试试

package main

import "fmt"

func main() {
    // 定义一个映射 
    

    // 输出 Golang 这本书的页数
     
}

Go 中的切片和映射中的所有课

自己练习: Go 在线编译器