猿问

初始化自定义类型

有人可以帮助我了解以下情况吗?


有一个自定义类型


type Foo string

这个建筑工程:


var foo Foo = "foo"

fmt.Printf("\n%s", foo)


还有这个:


var bar = "bar"

var foo Foo = bar

fmt.Printf("\n%s", foo)

抛出一个有cannot use bar (variable of type string) as type Foo in variable declaration.什么区别以及如何正确初始化此类型?谢谢🙂


湖上湖
浏览 75回答 2
2回答

POPMUISE

让我更正这个var bar = "bar"var foo Foo = Foo(bar)fmt.Printf("\n%s", foo)要不就var foo = Foo(bar)

Smart猫小萌

最后一个不起作用,因为 Go 具有强大的类型检查;此外,如果Foo具有string基本类型,则它不是string.因此,您不能为其分配字符串。要实现你想要的,你必须进行铸造func main() {    var a = "hello"    var b Foo    b = Foo(a)    fmt.Println("b:", b)}
随时随地看视频慕课网APP

相关分类

Go
我要回答