golangmap改变值

概述

Golang是一个非常强大的编程语言,它具有高并发、内存安全、简洁易懂等特点,被越来越多的程序员所喜爱。而其中的map,更是一个强大的工具,可以用于存储键值对,以达到快速查找和修改的目的。

如何改变map中的值?

在Golang中,可以使用map[key] = value的方式添加和修改key对应的value值。示例如下:


package main

import "fmt"

func main() {
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m) // map[one:1 two:2]

m["one"] = 100
fmt.Println(m) // map[one:100 two:2]
}

如上代码所示,通过m[key]的方式可以获取或者设置key对应的value值。如果key不存在,则会新建一个key-value对;如果已经存在,则会修改它的value值。但是需要注意的是:如果你设置的key不存在,那么就会新建一个key-value对,不能直接修改这个不存在的key的value。示例如下:


package main

import "fmt"

func main() {
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m) // map[one:1 two:2]

// 错误的写法
m["three"]++ // panic: runtime error: invalid memory address or nil pointer dereference
fmt.Println(m)
}

如上代码所示,因为没有提前对key进行初始化,所以程序会panic。因此,在对不存在的key进行修改之前,应该先进行初始化。示例如下:


package main

import "fmt"

func main() {
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m) // map[one:1 two:2]

// 正确的写法
if v, ok := m["three"]; ok {
m["three"] = v + 1
} else {
m["three"] = 1
}
fmt.Println(m)
}

如此一来,即使key不存在,也不会引起程序的panic。

结语

在Golang中,map是一个非常强大的工具。通过map[key]的方式可以快速的查找和修改值。但是需要注意的是,在对不存在的key进行修改之前,需要先进行初始化。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-i1.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午3:23
下一篇 2023年5月2日 上午3:23

猜你喜欢