为了账号安全,请及时绑定邮箱和手机立即绑定

地图结构高浪中计数器的最佳实践

地图结构高浪中计数器的最佳实践

Go
森林海 2022-10-04 19:25:58
我有一个不干净的代码。我想增加结构,但我认为这是无效的。CounterNameLikepackage mainimport "fmt"type NameLike struct {    Name    string    Counter int}func main() {    sosmed := make(map[string]NameLike)    sosmed["rizal"] = NameLike{"Rizal Arfiyan", 10}    for i := 1; i < 10; i++ {        sosmed["rizal"] = NameLike{            Counter: sosmed["rizal"].Counter + 1,        }    }    fmt.Println(sosmed)}你对这段代码有什么想法,使它干净吗?sosmed["rizal"] = NameLike{    Counter: sosmed["rizal"].Counter + 1,}
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您可以采取几种方法来简化此代码。


当前地图按值传递。如果你通过引用,你可以简化一些事情:NameLike


package main


import "fmt"


type NameLike struct {

    Name    string

    Counter int

}


func main() {

    sosmed := make(map[string]*NameLike)

    sosmed["rizal"] = &NameLike{"Rizal Arfiyan", 10}


    for i := 1; i < 10; i++ {

    sosmed["rizal"].Counter++

    }


    fmt.Println(sosmed["rizal"])

}

https://play.golang.org/p/-xvCJyqQ6V0


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号