误解 := 在 Go 中的用法

我正在阅读此文档并看到以下片段:

:= 语法是声明和初始化变量的简写,例如在这种情况下 var f string = "short"。

f := "short"
fmt.Println(f)

关键是:它仅适用于字符串吗?或者它是否足以理解它应该存储什么数据类型?

再加上:这不是一样的var f = "short"吗?


慕标琳琳
浏览 181回答 1
1回答

qq_笑_17

当然,它会推断右侧表达式返回的明显类型。该规范给出了这些例子:i, j := 0, 10f := 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请注意,它不是动态的:一切都在编译时发生,类型由正确的部分表达式给出。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go