专业的编程技术博客社区

网站首页 > 博客文章 正文

对比着学 Go 语言-基础:类型之 map

baijin 2024-11-21 10:34:45 博客文章 6 ℃ 0 评论

和 Python 类似,Go 也有自己的字典类型,关键字是 map 。也同样是内置类型, 且未排序。

package main
import "fmt"

type PersonInfo struct {
    ID string
    Name string
    Address string
}


func main(){
  var personDB map[string] PersonInfo  // 变量声明
  personDB = make(map[string] PersonInfo, 100) // 创建
  
  personDB["12345"] = PersonInfo{"12345", "Tom", "Room 203,..."}
  personDB["1"] = PersonInfo{"1", "Jack", "Room101,..."} // 往这个 map 里插入几条数据
  
  person, ok := personDB["1234"] // 从这个 map 查找键为 “1234” 的信息
  
  if ok {
    fmt.Println("Found person", person.Name, "with ID 1234.")
  } else {
    fmt.Println("Did not find person with ID 1234.")
  }
}

创建并初始化 map 的代码:

myMap = map[string] PersonInfo {
  "1234": PersonInfo {
  }
}

元素赋值

myMap["1234"] = PersonInfo {"1", "Jack", "Room 101,..."}

元素删除, 如果键不存在,那么这个调用将什么都不发生,只有传入 nil 后,该调用将导致程序抛出异常,Go 的异常叫 panic。

delete(myMap, "1234")

元素查找

value, ok := myMap["1234"]
if ok { // 找到了
  // 处理找到的 value 
}

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表