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

我有一个不干净的代码。我想增加结构,但我认为这是无效的。CounterNameLike


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"] = NameLike{

            Counter: sosmed["rizal"].Counter + 1,

        }

    }


    fmt.Println(sosmed)

}


你对这段代码有什么想法,使它干净吗?


sosmed["rizal"] = NameLike{

    Counter: sosmed["rizal"].Counter + 1,

}


森林海
浏览 117回答 1
1回答

蝴蝶刀刀

您可以采取几种方法来简化此代码。当前地图按值传递。如果你通过引用,你可以简化一些事情:NameLikepackage mainimport "fmt"type NameLike struct {&nbsp; &nbsp; Name&nbsp; &nbsp; string&nbsp; &nbsp; Counter int}func main() {&nbsp; &nbsp; sosmed := make(map[string]*NameLike)&nbsp; &nbsp; sosmed["rizal"] = &NameLike{"Rizal Arfiyan", 10}&nbsp; &nbsp; for i := 1; i < 10; i++ {&nbsp; &nbsp; sosmed["rizal"].Counter++&nbsp; &nbsp; }&nbsp; &nbsp; fmt.Println(sosmed["rizal"])}https://play.golang.org/p/-xvCJyqQ6V0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go