变量和常量
变量
声明、赋值变量
var name type
// 一次声明多个同一类型的变量
var a, b int
// 批量声明变量
var (
a int
b string
c []float32
d func() bool
e struct {
x int
}
)
// 声明变量并赋值
var a int = 10
// 声明变量但是没有初始化的,将会赋予指定数据类型
var b int // b = 0
// 变量类型自动推断
var age = 100 // 自动推断为int
fmt.Println("type=", reflect.TypeOf(age))
// := 简短声明
age := 10 // 自动推断类型为int
// 多变量赋值,a b 变量交换
var a int = 100
var b int = 200
b, a = a, b
fmt.Println(a, b)匿名变量_
堆和栈空间


变量存储在堆还是栈?
变量逃逸分析
变量逃逸分析:取地址符
变量的作用域和生命周期
变量类型
定义位置
生命周期
常量
显示类型定义
隐式类型定义:将会由值推断类型
值必须是编译期间就可以确定的
批量声明常量
模拟枚举:iota常量生成器
最后更新于