变量与常量 - Go 学习记录
变量声明、初始化、赋值
- 单个变量的声明格式为:
var <变量名称> [变量类型]
- 变量的赋值格式:
<变量名称> = <值,表达式,函数等>
- 声明和赋值同时进行:
var <变量名称> [变量类型] = <值,表达式,函数等>
- 分组声明格式:
var ( number int floatNumber float32 username string )
- 同一行声明多个变量和赋值:
var a,b,c int = 1,2,3
或者a,b:=1,2(只能用于函数体内)
- 全局变量的声明必须使用
var
关键字,局部变量可以省略 - 特殊变量下划线
_
- Go 中不存在隐式转换,类型转换必须是显式的
- 类型转换只能发生在两种兼容类型之间
- 类型转换格式:
<变量名称>[:]=<目标类型>(<需要转换的变量>)
- 大写字母开头的变量是可以导出的,也就是其他包可以读取的,是公用变量
- 小写字母开头的就是不可以导出的,是私有变量
常量定义形式和常量类型范围
- 常量定义从形式上可以分为显式和隐式
显式:const identifier [type] = value
隐式:const identifier = value (通常叫无类型常量)
- 常量可以使用内置表达式(函数)定义,例如
len(),unsafe.Sizeof()
等 - 常量类型范围目前值支持布尔型、数字型(整数型、浮点和复数)和字符串
特殊常量iota的使用(只能在常量定义中使用,函数体中不能使用)
- iota 在const 关键字出现的时将被重置为 0
- const中每新增一行常量声明将使用iota计数一次
-
iota 常见使用发:
- 跳值使用
const ( iotae = iota // 0 _ // 通过下划线来达到 跳值使用法 会把1 赋值给下划线 1 _ // 2 iotaf = iota // 3 )
- 插队使用
const ( iotag = iota // 0 iotah = 3.14 // 3.14 iotaj = iota // 2 )
- 表达式隐式使用
const ( a = iota * 2 // 0 b = iota * 3 // 3 c // 6 d // 9 )
- 单行使用
const ( iotay,iotau = iota,iota+3 // 0 , 3 iotao,iotas // 1,4 iotao 沿用第一个也就是 iotay的,而 iotas 沿用的是iotau的 ff = iota // 2 )
如想看教程同步的代码移步 GitHub 地址。
- 跳值使用
本作品采用《CC 协议》,转载必须注明作者和本文链接
我也是php开发的,向博主学习~~~
@Doooyf 一起共同学习。