Go每日一题(1) 的题目如下

5233 次点击 · 8 赞 ·大约8小时之前 开始浏览   · 来源「Golang来啦」

下面这段代码输出什么,说明原因。

func main() {
	slice := []int{0,1,2,3}
	m := make(map[int]*int)

	for key,val := range slice {
		m[key] = &val
	}

	for k,v := range m {
		fmt.Println(k,"->",*v)
	}
}
5233 阅读
54 回复
zhangwei_go
zhangwei_go · #51 · 5月之前

0 -> 3 1 -> 3 2 -> 3 3 -> 3

brothersam
brothersam · #52 · 5月之前

0 -> 3 1 -> 3 2 -> 3 3 -> 3

Dessert
Dessert · #53 · 大约1个月之前

1.22高版本go解决了该问题

zhang-jianqiang
zhang-jianqiang · #54 · 大约1个月之前
DessertDessert #53 回复

1.22高版本go解决了该问题

本来是解决了这个问题,但是这里又使用了指针,&val,所以又回到和以前一样的问题了

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传