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

误解 := 在 Go 中的用法

误解 := 在 Go 中的用法

Go
慕标琳琳 2021-09-10 10:33:36
我正在阅读此文档并看到以下片段::= 语法是声明和初始化变量的简写,例如在这种情况下 var f string = "short"。f := "short" fmt.Println(f)关键是:它仅适用于字符串吗?或者它是否足以理解它应该存储什么数据类型?再加上:这不是一样的var f = "short"吗?
查看完整描述

1 回答

?
qq_笑_17

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

当然,它会推断右侧表达式返回的明显类型。


该规范给出了这些例子:


i, j := 0, 10

f := func() int { return 7 }

ch := make(chan int)

r, w := os.Pipe(fd)  // os.Pipe() returns two values

_, y, _ := coord(p)  // coord() returns three values; only interested in y coordinate

请注意,它不是动态的:一切都在编译时发生,类型由正确的部分表达式给出。


查看完整回答
反对 回复 2021-09-10
  • 1 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信