最近我在玩谷歌的新编程语言Go

我想知道为什么赋值运算符:=在等号=前面有一个冒号

推荐答案

:=符号既可用作声明,也可用作初始化.

foo := "bar"

相当于

var foo = "bar"

您可能会问,为什么不像任何脚本语言一样只使用foo = "bar"呢?嗯,那是为了避免打字错误.

foo = "bar"
fooo = "baz" + foo + "baz"   // Oops, is fooo a new variable or did I mean 'foo' ?

Go相关问答推荐

在连接表中以添加字段作为主要关键字的多对多

使用恶意软件 scanner (ClamAV)时的Google云存储桶上传文件验证

Golang测试容器,无法使网络正常工作

减少在围棋中映射DTO时的重复代码量

创建服务时云运行触发器执行失败

我找不到pcap.Openlive的设备名称

Go Programming Language书上的例子server2错了吗?

错误!在为 age-viewer-go 运行 wails dev 或 wails build 命令时

如何以干净的方式在中间件中注入 repo 或服务?

golang 上基于标头的版本控制

判断不同 go map 类型中的重复键

Go:如何在将 float64 转换为 float32 时判断精度损失

Gorm delete with clauses sqlmock 测试

Go泛型:无效的复合文字

如何编写一个以字符串或错误为参数的通用函数?

使用 package`regexp` 查找 Golang 中的所有 mactch 子字符串,但得到意外结果

使用 oklog/run 来自 Go 编译器的错误(无值)用作值

在 Go 中将指针传递给函数的正确方法是什么,以便我可以读取和/或修改指针表示的值?

在 golang 中联合一个接口和类型

函数的递归调用以 goroutine 和惯用方式开始,以在所有工作 goroutine 完成时继续调用者