Go语言获取map元素

Go语言获取map元素教程

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

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

如果我们只使用一个值,接受 map 的返回值,那么返回的 map 的 key 对应的 value,如果我们需要判断一个 map 中的 key 是否存在,那么我们可以使用 _ 忽略返回的第一个值,然后判断返回的第二个 bool 值为 true 还是 false。

Go语言获取map元素

语法

value, isOk := mapName[key]

参数

参数 描述
mapName 要获取元素的 map。
key 要获取的键。

返回值

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

说明

根据 map 的 key 获取 map 的元素,第一个返回值是获取的值,第二个参数是一个 bool 值,表示获取值是否获取成功。

Go语言获取map的值

语法

value := mapName[key]

说明

只使用一个值,接受 map 的返回值,那么返回的 map 的 key 对应的 value。

Golang判断map key是否存在

语法

if _, isOk := mapName[key]; isOk{ }else{ }

说明

我们使用 _ 忽略返回的第一个值,然后判断返回的第二个 isOk 值为 true 还是 false,如果为 true,则表明 key 存在,否则 key 不存在。

案例

根据key获取map元素

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

package main import ( "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) }

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

73 golang获取map元素.png

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

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

根据 key 获取 map 值

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

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

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

74 golang获取map元素.png

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

我们只用一个值来接受 map 的返回值,那么返回的就是 key 所对应的的 value,如果 key 不存在,返回空。

判断map的key是否存在

使用 [] 加上 key 的形式,获取 map 的元素的第二个参数,判断 key 是否存在

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 [] 加上 key 的形式,获取 map 的元素的第二个参数,判断 key 是否存在 mapHaiCoder := map[string]string{ "Server":"Golang", "JavaScript":"Vue", "Db":"Redis", } value, isOk := mapHaiCoder["Server"] value2, isOk2 := mapHaiCoder["Server2"] fmt.Println("Value =", value, "IsOk =", isOk) fmt.Println("Value2 =", value2, "IsOk2 =", isOk2) }

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

75 golang获取map元素.png

使用 key 索引的形式访问 map 的元素,返回两个值,第一个是 key 对应的元素值,第二个是一个 bool 值,表示该 key 是否存在。

我们通过第二个返回的 bool 值的真假可以判断 map 中的 key 是否存在,如果为 true,表明 map 中的 key 存在,如果为 false,表明 map 中的 key 不存在。

Go语言map遍历总结

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

如果我们只使用一个值,接受 map 的返回值,那么返回的 map 的 key 对应的 value。for range 循环遍历 map 语法:

for key, value := range mapName{ }

for range 循环遍历 map key 语法:

for key := range mapName{ }