我有一個(gè)不干凈的代碼。我想增加結(jié)構(gòu),但我認(rèn)為這是無(wú)效的。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)}你對(duì)這段代碼有什么想法,使它干凈嗎?sosmed["rizal"] = NameLike{ Counter: sosmed["rizal"].Counter + 1,}
1 回答

蝴蝶刀刀
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以采取幾種方法來(lái)簡(jiǎn)化此代碼。
當(dāng)前地圖按值傳遞。如果你通過(guò)引用,你可以簡(jiǎn)化一些事情: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
- 1 回答
- 0 關(guān)注
- 96 瀏覽
添加回答
舉報(bào)
0/150
提交
取消