为了账号安全,请及时绑定邮箱和手机立即绑定

初始化自定义类型

初始化自定义类型

Go
湖上湖 2022-12-19 11:00:27
有人可以帮助我了解以下情况吗?有一个自定义类型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)


查看完整回答
反对 回复 2022-12-19
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

最后一个不起作用,因为 Go 具有强大的类型检查;此外,如果Foo具有string基本类型,则它不是string.


因此,您不能为其分配字符串。


要实现你想要的,你必须进行铸造


func main() {

    var a = "hello"

    var b Foo

    b = Foo(a)

    fmt.Println("b:", b)

}


查看完整回答
反对 回复 2022-12-19
  • 2 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号