GO语言 对map类型的理解

本文深入讲解了Go语言中Map类型的使用方法,包括声明、创建、元素赋值、取值及如何处理键不存在的情况。通过具体示例展示了Map作为键值对集合的高效应用。
package main

import "fmt"

type PersonInfo struct {
   ID string
   Name string
   Address string
}

func main(){
   //map这个类型
   //map是一堆键值对的未排序的集合
  //  var personDB map[string] PersonIofo
   personDB := make(map[string] PersonInfo)
   personDB["12345"] = PersonInfo{"12345", "Tom", "Room 203,..."}
   personDB["1"] = PersonInfo{"1", "Jack", "Room 101,..."}
   person, _ := personDB["12345"]
    fmt.Println(personDB,"=========",person)

    //变量声明
    // myMap 是声明的map变量名 string 是键的类型 PersonIofo 是其中存放的值类型
    var myMap map[string] PersonInfo
    fmt.Println(myMap)
    //创建
    //我们可以使用内置函数 make() 来创建一个新 map
   //myMap = make(map[string] PersonInfo)
   //创建并初始化map的代码如下:
   myMap = map[string] PersonInfo{
      "1234": PersonInfo{"1", "Jack", "Room 101,..."},
   }
   //取值
   fmt.Println(myMap["1234"].ID)
   //3. 元素赋值
   //赋值过程非常简单明了,就是将键和值用下面的方式对应起来即可
   //myMap["1234"] = PersonInfo{"1", "Jack", "Room 101,..."}
   //要从map中查找一个特定的键,可以通过下面的代码来实现:
   value, ok := myMap["12"]
   if ok { // 找到了
      // 处理找到的value
      fmt.Println(value,"----------------")
   }else{
      fmt.Println("没找到")
   }
   //判断是否成功找到特定的键,不需要检查取到的值是否为nil,只需查看第二个返回值ok,
   //这让表意清晰很多。配合:=操作符,让你的代码没有多余成分,看起来非常清晰易懂。
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Json____

您的鼓励是我创作的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值