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,变量共用问题。

在这里插入图片描述

posted @   福大大架构师每日一题  阅读(15)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2021-09-16 2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。按键2对应:‘
2020-09-16 2020-09-16:谈谈TCP的控制位?
点击右上角即可分享
微信分享提示