1. 变量定义的特点
- 先定义后使用
- 变量是强类型的,必须有类型
- 变量类型不能改变
2. 变量定义方式
- var 关键字定义
var age int
// 更加简洁
var (
age2 int
name string
)
// 定义多个同类型变量
var name1, name2 string
- := 符号定义,属于简洁定义(全局变量不能采用此方式)
name := ""
// 一次定义多个变量
name1, name2 := "", ""
// 一次定义多个不同类型变量
age2, name3 := 0, ""
3. 注意事项
- go语言变量定义之后必须使用,否则编译报错
- 同一作用域变量名不能冲突
- 简洁定义不能用于全局
- 变量有默认值
- 变量类型与赋值必须一致
4. const 常量的定义
- 定义单个常量
const PI = 3.141592653
- 定义多个常量
const (
RoleStudent int = 1
RoleTeacher int = 2
)
const (
x1 int = 10
x2
str1 = "22222"
str2
)
如果x2 不指定类型和值,将会延用上一个常量的类型和值
5. 匿名变量
有的时候我们需要忽略某些函数返回值的时候,就会用到匿名变量
func atoi(str string) (int, error) {
// ......
return 0, nil
}
num, _ := atoi("10")
fmt.Println(num)
// 或者这么定义
var _ int
这里的_就是匿名变量