短变量声明

题目:

下面这段代码能否通过编译,如果可以,输出什么?

1
2
3
4
5
6
7
8
var(
size := 1024
max_size = size*2
)

func main() {
fmt.Println(size,max_size)
}

答案解析

​ 不能通过编译。

:=是短变量声明,可以用来声明和初始化局部变量。题目中的var也是用来声明变量的,故这里会报错。

对于短变量声明的使用,有以下限制

  1. 必须使用显示初始化
  2. 不能提供数据类型
  3. 只能在函数内使用

短变量声明
http://example.com/2023/05/21/Go每日一题/短变量声明/
作者
Feng Tao
发布于
2023年5月21日
更新于
2023年5月21日
许可协议