Go基础-变量常量
标准申明
申明已关键字var 开头 变量类型放在变量的后面 go里面无需分号结尾
var name string // 批量申明 var ( s string i int b bool )
变量初始化
函数内部常使用 := 简洁声明
var name string = "张三" // 类型推导,编辑器会根据值推到类型 var name = "张三" // 多个变量赋值 var name, age = "张三", 20 // 在函数内部 简洁申明 func getAge()(int){ age := 18 // := 可以用在简洁申明 return age } //匿名变量 _ //匿名变量不占用命名空间,不会分配内存,用_可以表示不需要该方法返回的第X个值 func user() (int, string) { return 50, "李四" } func main() { _, s2 := user() // 这里只返回李四,类似抛弃掉了第一个值 fmt.Print(s2) }
常量
常量在定义的时候必须赋值,常量使用const申明。
//常量声明 const PI = 3.14 //批量申明常量,如果下面没赋值 ,默认获取上面的值 const ( c1 = 100 c2 // 100 c3 // 100 c4 = 200 c5 //200 ) //1:iota 在const关键字出现时被重置为0. //2:const中每新增 [一行] [常量] 将使iota计数一次 //3:可以使用 _ 跳过某些值 //4:如果中间有插队的常量iota一样加一次 const ( i1 = iota //0 i2 //1 i3 //2 _ //跳过了3 i5 //4 ) //插队 const ( a1 = iota //0 a2 = 100 //100 a3 = iota //2 这里注意不是 0 也不是 1 要看 行数 a4 //3 ) //多个常量声明在一行 const ( d1, d2 = iota + 1, iota + 2 // d1:1,d2:2 d3, d4 = iota + 1, iota + 2 // d3:2,d4:3 ) //示例:定义数量级 const ( _ = iota KB = 1 << (10 * iota) MB = 1 << (10 * iota) GB = 1 << (10 * iota) TB = 1 << (10 * iota) PB = 1 << (10 * iota) )
注意事项:
- 函数外的变量都必须以关键字开始(var、const)
:=
不能使用在函数外。_
多用于占位,表示忽略值。- iota 初始为 0,后面每一行+1,中间有插队也+
-
标识符如果大写类似于public ,可以暴露出去,对外部可见 例如 var Name