我有一个带有*int64字段的结构类型。
type SomeType struct {
SomeField *int64
}
在我的代码中的某个时候,我想声明一个文字(比如,当我知道所说的值应该是 0,或者指向 0 时,你知道我的意思)
instance := SomeType{
SomeField: &0,
}
...除了这不起作用
./main.go:xx: cannot use &0 (type *int) as type *int64 in field value
所以我试试这个
instance := SomeType{
SomeField: &int64(0),
}
...但这也不起作用
./main.go:xx: cannot take the address of int64(0)
我该怎么做呢?我能想出的唯一解决方案是使用占位符变量
var placeholder int64
placeholder = 0
instance := SomeType{
SomeField: &placeholder,
}
显然,我的问题含糊不清。我正在寻找一种从字面上说明a 的方法*int64
。这可以在构造函数中使用,或者用于说明文字结构值,甚至可以作为其他函数的参数。但是辅助函数或使用不同类型不是我正在寻找的解决方案。
相关分类