• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

go语言怎么获取map元素

武飞扬头像
PHP中文网
帮助417

go语言获取map元素的两种方法

方法1:利用for range语句遍历map来获取全部元素

Go 语言 中 map 的遍历只能使用 for range 的形式,for range 循环返回的第一个是 map 的 key,返回的第二个是 map 的 value。

语法:

for key, value := range mapName{
...
}

说明:

  • 使用 for range 循环遍历 变量 名为 mapName 的 map ,其中 key 是 map 的键,value 是 map 的 key 所对应的 值。

示例:

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for key, value := range mapHaiCoder{
		fmt.Println("Key =", key, "Value =", value)
	}
}

学新通技术网

方法2:使用key做为索引的形式来获取指定元素

Go 语言 中要获取 map 中的元素,除了使用 遍历 的方式,我们还可以使用 key 做为索引的形式来获取 map 指定 key 的元素。

语法:

value, isOk := mapName[key]
参数 描述
mapName 要获取元素的 map。
key 要获取的键。

返回值:

返回值 描述
value 获取到的值。
isOk 是否获取到值,获取到则返回 true,否则,返回 false。

说明

  • 根据 map 的 key 获取 map 的元素,返回两个返回值,第一个返回值是获取的值,如果 key 不存在,返回空值,第二个参数是一个 bool 值,表示获取值是否获取成功。

示例:根据key获取map元素

使用 [] 加上 key 的形式,获取 map 的元素

package mainimport (
	"fmt")func main() {
	fmt.Println("嗨客网(www.haicoder.net)")
	//使用 [] 加上 key 的形式,获取 map 的元素
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	value, isOk := mapHaiCoder["Server"]
	fmt.Println("Value =", value, "IsOk =", isOk)}

程序运行后,控制台输出如下:

package main
import (
	"fmt"
)
func main() {
	//使用 [] 加上 key 的形式,获取 map 的元素
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	value, isOk := mapHaiCoder["Server"]
	fmt.Println("Value =", value, "IsOk =", isOk)
}

学新通技术网

我们使用初始化的方式创建了一个有三个元素的 map,使用 [] 加上 key 的形式,获取 map 的 key 为 “Server” 的元素的值。

map 返回了两个值,第一个是 key 所对应的值,第二个是 key 是否存在的标志,isOk 为 true,表明 key 存在。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfciic
系列文章
更多 icon
同类精品
更多 icon
继续加载