golang中map赋值

众所周知,golang中map是一个指针,既然是一个指针,那么参数传递、赋值应该都是指针传递,而下面的例子也印证了我的想法

go 复制代码
package main

import "fmt"

func test_map2(m map[string]string) {
	fmt.Printf("inner: %v, %p, %p\n", m, m, &m)
	m = make(map[string]string, 0)
	m["a"] = "11"
	fmt.Printf("inner: %v, %p, %p\n", m, m, &m)
}

func main() {
	// var m map[string]string //未初始化
	m := make(map[string]string)

	fmt.Printf("outer: %v, %p, %p\n", m, m, &m)
	test_map2(m)
	fmt.Printf("outer: %v, %p, %p\n", m, m, &m)
	n := m
	fmt.Printf("outer: %v, %p, %p\n", n, n, &n)
}

输出

go 复制代码
outer: map[], 0xc0000160f0, 0xc000042020
inner: map[], 0xc0000160f0, 0xc000042030
inner: map[a:11], 0xc000016180, 0xc000042030
outer: map[], 0xc0000160f0, 0xc000042020
outer: map[], 0xc0000160f0, 0xc000042038
相关推荐
源代码•宸8 分钟前
Golang原理剖析(map面试与分析)
开发语言·后端·算法·面试·职场和发展·golang·map
AC赳赳老秦2 小时前
技术文档合著:DeepSeek辅助多人协作文档的风格统一与内容补全
android·大数据·人工智能·微服务·golang·自动化·deepseek
Grassto3 小时前
9 Go Module 依赖图是如何构建的?源码解析
开发语言·后端·golang·go module
bing.shao3 小时前
基于 Go + Ollama 开发智能日志分析工具完整实战
开发语言·后端·golang
Hello.Reader4 小时前
连接四元组它为什么重要,以及它和端口复用(SO_REUSEPORT)的关系(Go 实战)
开发语言·后端·golang
浮尘笔记5 小时前
Go语言上下文:context.Context类型详解
开发语言·后端·golang
weixin199701080165 小时前
安家 GO item_area - 获取地区类列表数据接口对接全攻略:从入门到精通
java·数据库·golang
一叶飘零_sweeeet6 小时前
零基础入门 Go 语言
开发语言·后端·golang
牛奔20 小时前
Go语言中结构体转Map优雅实现
开发语言·后端·macos·golang·xcode
雨中散步撒哈拉1 天前
22、做中学 | 高一下期 | Golang反射
开发语言·golang·状态模式