在结构中初始化字符串指针

曼德拉哥:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章