Go Newbie问题:我正在尝试使用默认值初始化以下结构。我知道,如果“ Uri”是一个字符串而不是一个指向字符串(* string)的指针,它将起作用。但是我需要此指针来比较结构的两个实例,如果未设置Uri,则Uri将为nil,例如,当我从json文件解组内容时。但是,如何正确地将这样的结构初始化为“静态默认值”呢?
type Config struct {
Uri *string
}
func init() {
var config = Config{ Uri: "my:default" }
}
上面的代码因
cannot use "string" (type string) as type *string in field value
无法获得(指向)恒定值的地址,这就是初始化失败的原因。如果定义变量并传递其地址,则示例将起作用。
type Config struct {
Uri *string
}
func init() {
v := "my:default"
var config = Config{ Uri: &v }
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句