gpt4 book ai didi

go - 如何在没有代码重复的情况下初始化映射?

转载 作者:行者123 更新时间:2023-12-01 22:45:17 24 4
gpt4 key购买 nike

我有一个名为game的结构类型,如下所示:

type game struct {
commands map[string]*command
// ...
}

我想在init函数中的这种类型的结构中初始化 map 。我这样做

func (game *game) init() {
game.commands = make(map[string]*command)
// ...
}

我认为,有一些代码重复。如果我只能声明一次 (map[string]*command)类型,那就太好了。有没有办法做到这一点?我尝试使用反射,但是它似乎不起作用,因为make buildin接受类型而不是值。

最佳答案

如果您担心重复map[string]*command两次是重复的,则可以从中定义一个新类型。

type commandsMap map[string]*command

type game struct {
commands commandsMap
// ...
}

func (game *game) init() {
game.commands = make(commandsMap)
// ...
}

关于go - 如何在没有代码重复的情况下初始化映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60074719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com