1、变量
运行过程中可变的量
声明并初始化:
var <变量名> [type] = <值>
如果不初始化会默认初始化
各种类型的初始化值:
string:空字符串
float:0
int:0
bool:false
go语言是强类型语言
批量声明变量
var (
a int = 3
b bool = true
c float32 = 3.5
)
如果类型都是一样的,可以在一行声明
var a, b,c int = 3, 3,4
类型推导
如果给定了值,可以不写type,程序会推导其类型
var (
a = 3
b = true
c = 3.5
)
短声明
如果给定了值,可以省略var关键字,使用:=
赋值
a1, b1, c1 := 3, true, 3.5
批量赋值
已经声明的变量,可以批量赋值。一般用于函数,因为函数可以有多个返回值,还可以用于交换两个变量的值
var (
a = 3
b = true
c = 3.5
)
a, b, c = 4, false,5.6;
匿名变量(临时变量)
使用_
进行变量占位,赋完值马上释放
var a2 int
a2, _ = 4, 3
fmt.Println(a2)
2、常量
声明定义后不可变的量
常量的值仅仅支持基础类型
声明并初始化:
const <常量名> [类型] = <值>
批量声明
const(
a= 3
b = 4.5
)
注意的是在常量定义的时候如果不初始化的话与上面的值一致
const(
a = 3
b
)
这样b = 3
3、iota迭代常量
iota的意思是按行递增迭代,一般在const()
中使用,行数从0开始
这里语法一般定义在字典值的地方
const (
secret = iota
man
woman
)
fmt.Println(secret, man, woman)