有人可以帮助我了解以下情况吗?有一个自定义类型type Foo string这个建筑工程:var foo Foo = "foo"fmt.Printf("\n%s", foo)还有这个:var bar = "bar"var foo Foo = barfmt.Printf("\n%s", foo)抛出一个有cannot use bar (variable of type string) as type Foo in variable declaration.什么区别以及如何正确初始化此类型?谢谢🙂
2 回答

POPMUISE
TA贡献1765条经验 获得超5个赞
让我更正这个
var bar = "bar"
var foo Foo = Foo(bar)
fmt.Printf("\n%s", foo)
要不就
var foo = Foo(bar)

Smart猫小萌
TA贡献1911条经验 获得超7个赞
最后一个不起作用,因为 Go 具有强大的类型检查;此外,如果Foo具有string基本类型,则它不是string.
因此,您不能为其分配字符串。
要实现你想要的,你必须进行铸造
func main() {
var a = "hello"
var b Foo
b = Foo(a)
fmt.Println("b:", b)
}
- 2 回答
- 0 关注
- 74 浏览
添加回答
举报
0/150
提交
取消