1.常量:顾名思义,就是不变量,常量只能是数字、字符(符文)、字符串或布尔值。
const x int = 3
const y,z int = 1,2
const (
a byte = 'A'
b string = "B"
c bool = true
d int = 34
e float32 = 5.4
)
1.1.根据常量值自动推导类型
const a = 34 // a int
const (
b = 2.44 // b float64
c = true // c bool
)
1.2.在Go中,枚举常量使用枚举器
iota
创建。由于
iota
可为表达式的一部分,而表达式可以被隐式地重复,这样也就更容易构建复杂的值的集合了。
const (
a = iota // a = 0
b = iota // b = 1
c = iota // c = 2
d = iota // d = 3
e = iota // e = 4
)
2.变量,就是在项目中可以根据自身需要去修改的值,用var来定义变量
var a,b,c int // a = 0, b = 0, c = 0 var ( a int // a = 0 b string // b = "" c uint // c = 0 ) var a,b,c int = 0,1,2
3.初始化init 每个源文件都可以通过定义自己的无参数init
函数来设置一些必要的状态。(其实每个文件都可以拥有多个init
函数。) 而它的结束就意味着初始化结束:只有该包中的所有变量声明都通过它们的初始化器求值后init
才会被调用, 而那些init
只有在所有已导入的包都被初始化后才会被求值。func init() { // ...
if user == "" { println(user) }}