变量可以理解为内存地址的别名,用来定义一块内存存储空间和使用这块内存。
1、变量命名规范
变量的命名规则遵循骆驼命名法,即首个单词小写,之后每个新单词的首字母大写,例如:dataStatus。
public的变量必须大写字母开头,private变量则以小写字母开头。
2、使用变量
var name string
var city string="beijing"
var age = 18
name := "jon" // 简短声明语法,在函数体内部声明局部变量时使用
3、一次性声明多个变量
var name, age, city
name, age, city := "jon", 18, "beijing"
var (
name = "jon"
age = 18
city = "beijing"
)
4、匿名变量
_, err := GetProcess()
5、查看变量数据类型和占用内存大小
var name string = "tom"
fmt.Printf("变量name的类型: %T ,占用的字节数是:%d\n", name, unsafe.Sizeof(name))
由于string是程序的数据类型,由go的结构体实现,这个结构体包含两部分:一部分是指向字符串起始地址的指针,另一部分是字符串的长度,两部分各是8字节,所以一共16字节
6、 变量可以是任何类型
var v1 []int // 切片
var v2 [10]string // 数组
var v3 struct{name string} // 结构体
var v4 *int64 // 指针
var v5 map[string]string // map
var v6 func(name string) (int, error) // 函数