变量 Varible
// 只声明,不赋值,默认是0
var v0 int
// 先声明
var v1 int
v1 = 1
// 声明的同时赋值
var v2 int = 2
// 自动推断
var v3 = 3
// 声明赋值
v4 := 4
fmt.Printf("v0=%v, v1=%v, v2=%v, v3=%v, v4=%v\n", v0, v1, v2, v3, v4)
在go中,声明变量就必须使用
对于int类型,它的默认值就是0
批量声明
var (
v1 int
v2 int = 2
v3 = 3
)
fmt.Printf("v1=%v, v2=%v, v3=%v", v1, v2, v3)
常量 Constant
声明之后不能修改
const a int = 1
fmt.Println(a)
iota
批量声明常量就可以使用iota
它可以实现常量的计数功能
iota就是当前变量的层数
const (
a int = iota
b = 2
c = iota
d = iota
e = 1
f = iota
)
fmt.Println(a, b, c, d, e, f)
// 0 2 2 3 1 5
const (
g = iota
h = iota
)
fmt.Println(g, h)
// 0 1
全局变量
将变量声明放在函数之外
例如
package main
import "fmt"
var a = 100
func main() {
fmt.Println(a)
}
声明为全局变量之后,该变量可以不使用
全局跨包变量
在当前项目中创建一个version目录,在version目录中创建version.go
package version
var (
Version int = 2
)
在主程序中就可以引入该包进行使用
package main
import (
"fmt"
"go_study/version"
)
func main() {
fmt.Println(version.Version)
}
如果要使用跨包变量,则需要将该变量名首字母大写