写点什么

2022-09-16:以下 go 语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

  • 2022 年 9 月 16 日
    北京
  • 本文字数:291 字

    阅读完需:约 1 分钟

2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

2022-09-16:以下 go 语言代码输出什么?A:101;B:100;C:1;D:2。


package main
import ( "fmt")
type MS struct { Name string Cgs int}
func main() { hashRun := make(map[string]*MS) mss := []MS{ MS{Name: "m", Cgs: 100}, MS{Name: "m", Cgs: 1}, } for _, ms := range mss { if h, ok := hashRun[ms.Name]; ok { h.Cgs += ms.Cgs } else { hashRun[ms.Name] = &ms } } for _, ms := range hashRun { fmt.Println(ms.Cgs) }}
复制代码


答案选 D。有部分人会选 A。这是经典的 for range,变量共用问题。



发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2021.02.15 加入

还未添加个人简介

评论

发布
暂无评论
2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {_golang_福大大架构师每日一题_InfoQ写作社区