- 介绍
- 标记
- 源码表示法
- 词汇元素
- 常量
- 变量
- 类型
- 方法集
- 布尔类型
- 数字类型
- 字符串类型
- 数组类型
- 切片类型
- 结构体类型
- 指针类型
- 函数类型
- 接口类型
- Map 类型
- Channel 类型
- 类型的属性和值
- 代码块
- 声明和作用域
- 标签的作用域
- Iota
- 类型声明
- 变量声明
- 短变量声明
- 函数声明
- 方法声明
- 表达式
- 语句
- switch 语句
- for 语句
- Go 语句
- select 语句
- return 语句
- break 语句
- continue 语句
- goto 语句
- Fallthrough 语句
- Defer 语句
- 内置函数
- Close
- 长度和容积
- 内存分配
- 创建切片、map 和 管道
- 追加或者拷贝切片
- 删除 map 中的元素
- 操作复数
- 处理 panic
- 初始化
- 程序的初始化和执行
- 系统相关
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
短变量声明
短变量声明的语法:
ShortVarDecl = IdentifierList ":=" ExpressionList .
它比正常使用初始化表达式进行变量声明的方式要短,而且不指定类型:
"var" IdentifierList = ExpressionList .
i, j := 0, 10
f := func() int { return 7 }
ch := make(chan int)
r, w := os.Pipe(fd) // os.Pipe() 返回两个值
_, y, _ := coord(p) // coord() 返回三个值,我们只关注 y
和常规变量声明不同,即使之前在相同代码块中声明过的变量,也可以在短变量重新声明相同类型的变量,并且保证至少会有一个新的非空变量。总之,只应该在多变量短声明的时候重新声明变量,重新声明并不会使用新的变量,而是给变量分配新值。
field1, offset := nextField(str, 0)
field2, offset := nextField(str, offset) // 重新声明 offset
a, a := 1, 2 // 非法:声明了 a 两次并且没有新的变量
短变量声明只能在函数中使用,例如在 if
、 for
、 switch
语句的上下文中声明临时变量。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论