Go史诗级选手之变量与常量

变量

一.声明变量

/* 
1.标准格式 
	var 变量名 变量类型
2.批量格式
	var(
		a int  			
		b string
		c []float32		声明一个32位浮点切片类型的变量,浮点切片标识由多个浮点类型组成的数据结构。
		d func() bool	声明一个返回值为布尔类型的函数变量,这种形式一般用于回调函数,即将函数以变量的形式保存下来,在需要的时候重新调用这个函数
        e struct{		声明一个结构体类型的变量,这个结构体拥有一个整型的X字段
        	x int
        }
	)
*/

二.初始化变量

/*
ps: Go语言在声明变量时,每个变量会初始化其类型的默认值 (未赋值的情况下)
	数字类型默认值为 0 
	字符创类型默认值为 空字符串
	布尔类型默认值为 bool
	切片、函数、指针变量的默认值为 nil
*/
/*
1.标准格式
	var 变量名 类型 = 表达式
	
2.编译器推导类型的格式
	在标准格式的基础上,省略数据类型的定义,编译器会尝试根据等号右边的表达式推导该变量的类.型
	ps:等号右边的部分在编译原理里被称作“右值”

3.短变量声明并初始化
	变量名 := 值
	ps:推导声明的左值变量必须是没有被定义过的变量 若定义过则会发生编译错误
*/

三.多个变量同时赋值

/*
1.交叉赋值
	x = 1 y = 2 ===> x, y = y, x
2.匿名变量8~
	ps: _ 表示一个不接收值得变量
*/

常量

/*
恒定不变的量 且在定义时必须赋值
const 定义常量的关键字

枚举 iota 模拟
iota 的起始值为 0
一个const声明内的每一行常量,将会自动套用前面的iota格式,并自动增加

用途 枚举常量生成器 如:生成标志位常量

原文地址:https://www.cnblogs.com/Ethan99/p/10956278.html