我正在关注本教程,特别是练习 8:
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
具体是什么:=
意思?具有讽刺意味的是,搜索 Go 文档非常困难。
我正在关注本教程,特别是练习 8:
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
具体是什么:=
意思?具有讽刺意味的是,搜索 Go 文档非常困难。
继续前往游览的第 12 页!
围棋之旅
在函数内部,可以使用 := 短赋值语句代替隐式类型的 var 声明。
(在函数之外,每个构造都以关键字开头,并且 := 构造不可用。)
正如其他人已经解释的那样, := 用于声明和赋值,而 = 仅用于赋值。
例如,var abc int = 20 与 abc := 20 相同。
当您不想用类型或结构声明填充代码时,它很有用。
:= 不是运算符。它是 Short 变量声明子句语法的一部分。
有关此的更多信息:https ://golang.org/ref/spec#Short_variable_declarations
:=
语法是声明和初始化变量的简写,examplef := "car"
是var f string = "car"
使用短变量声明 operator( :=
) 你只能声明局部变量。如果您尝试使用短声明运算符来声明全局变量,那么您将收到错误消息。
更多细节请参考官方文档
根据我关于 Go 的书,它只是一个简短的变量声明语句,与
var s = ""
但是它更容易声明,而且它的范围不那么广泛。A := var decleration 也不能有 interface{} 类型。这是你可能会在几年后遇到的事情
:= 表示 Golang 猜测是哪种类型的变量
例如 var number uint16 = 260 这是显式变量声明
var number = 260 这意味着告诉 GOLANG 隐式定义这个变量应该是什么类型
number := 260 表达式赋值运算符和以前一样,但没有 var 并告诉 GOLANG 猜这是什么类型
:= 表示一个变量,我们可以使用 := 为变量赋值。