一、 变量的声明(定义)和使用
变量是为存储特定类型的值而提供给内存位置的名称。变量就是一小块内存,用于存储数据。
变量的使用分为两步:1)声明,2)访问、赋值和取值
1、 标准声明
var a int
a = 10
2、类型推断
var a = 10
3、简短声明
func test() {
a := 10
}
4、批量声明
var a, b, c int
a, b, c = 1, 2, 3
var x, y, z int = 1, 2, 3
var (
s = "hello"
m = 10
n = 20
)
5、匿名变量
在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量_
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
a, _ := foo()
6、 变量的使用注意事项
- 变量必须先定义才能使用
- go语言是强类型语言,变量的类型和赋值的类型必须一致
- 同一个作用域内变量名不能冲突
- 简短声明变量
:=
左边必须有一个变量是新的 - 简短声明变量,不能定义全局变量
- 变量的默认值(零值)
- 变量定义了,就必须使用,否则编译无法通过
二、 常量的声明(定义)和使用
常量是恒定不变的值,多用于定义那些在程序运行期间不会改变的那些值。常量的定义和变量类似,使用关键字const
。
1、常量声明
const pi = 3.14
const name string = "jack"
2、常量组(枚举)
const (
MALE = 0
FEMALE = 1
UNKNOW = 2
)
常量组中如不指定类型和初始值,则和上一行非空常量值相同
const (
a = 10 //10
b //10
c = "name" //"name"
d //"name"
)
3、常量使用注意事项
- 常量的数据类型只能是布尔、数字、字符串
- 常量可以定义,而不使用
- 常量定义时,必须赋值
4、iota
iota
是go语言的常量计数器,只能在常量的表达式中使用
iota
在const关键字出现时将被重置为0
const中每新增一行常量声明将使iota
累加1
const (
a = iota //0
b //1
c //2
)
const (
a = iota //0
b //1
c //2
d = "ha" //独立值,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //8
- //跳过,iota += 1
j //10
)