如何定义变量?
- C语言定义变量的格式: 数据类型 变量名称;
- Go语言中定义变量的格式: var 变量名称 数据类型;
定义变量是为了告诉操作系统, 需要分配多大的存储空间来存储数据
在Go语言中, 除了有和C语言一样的定义变量的格式以外, 还有一些其它的格式
如果定义的同时初始化, 那么定义变量时, 数据类型可以省略(系统会自动根据赋值推导变量的类型)
如果定义的同时初始化, 那么定义变量时, 除了可以省略数据类型以外, 还可以利用:=继续省略var
-
:=注意点:
- 如果利用:=定义变量, 那么不能写var也不能写数据类型
- 因为:=会先定义一个变量, 所以不能把:=当做=来使用
如何定义一个变量
- 先定义再初始化
var num int
num = 666
fmt.Printf("%d\n", num) // 注意点: 在Go语言中, 输出整型只能使用%d, 不能使用%i
- 定义的同时初始化
var num int = 999
fmt.Printf("%d", num)
- 定义的同时初始化, 并省略数据类型
var num = 999
fmt.Printf("%d\n", num)
fmt.Printf("%T\n", num) // 在Go语言中, 可以利用%T输出变量的数据类型
-
定义的同时初始化, 并省略数据类型和var
做了两件事情 ,
1.会先定义一个变量
2.给定义的变量赋值在Go语言开发中非常非常非常常用
num := 666
fmt.Printf("%d\n", num)
- :=注意点
`var num := 666 // 语法错误`
`num int := 666 // 语法错误`
var numint = 666
num:= 888 // 重复定义
变量的连续定义
- 在C语言中我们可以通过逗号来连续定义变量 int a, b, c;
- 在Go语言中我们也可以通过逗号来连续定义变量 var a, b, c int
- 在Go语言中除了可以利用逗号来连续定义变量以外, 还可以使用变量组的语法来同时定义多个变量
var(
a int
b int
c int
)
同时定义多个变量, 也可以在定义的时候初始化
- 在C语言中我们可以通过 int a = 10, b = 20, c = 30;
- 在Go语言中如果通过逗号定义多个变量, 我们可以通过
var a, b, c = 10, 20, 30- 在Go语言中如果通过变量组定义多个变量, 我们可以通过
var(
a int = 10
b int = 20
c int = 30
)
// 注意点:在变量组中, 不能使用:=
- 通过逗号定义多个变量
var a, b, c int
a = 123
b = 456
c = 789
fmt.Printf("%d,%d,%d\n", a, b, c)
- 通过变量组定义多个变量
var(
a int
b int
c int
)
a = 123
b = 456
c = 789
fmt.Printf("%d,%d,%d\n", a, b, c)
- 同时定义多个变量, 并且同时初始化
var a, b, c int = 10, 20, 30
var a, b, c = 10, 20, 30
a, b, c := 10, 20, 30
fmt.Printf("%d,%d,%d\n", a, b, c)
- 通过变量组同时定义多个变量, 并且同时初始化
var(
a int = 10
b int = 20
c int = 30
)
//进一步优化代码
var(
a = 10
b = 20
c = 30
)
注意点:
- 以下这种写法会报语法错误(:= 和var不能同时出现)
var(
a := 10
b := 20
c := 30
)
fmt.Printf("%d,%d,%d\n", a, b, c)