4.4 变量
...大约 1 分钟
4.4 变量
使用
var
声明:var identifier type
// 声明 var a int var b string var ( c bool d *int )
采用驼峰命名法
赋值:
// 声明并赋值 var e = 1 // 自动推断类型(编译期) var f string = "f" // 并行赋值 var g, h = 1, 2 // 交换 g, h = h, g // g:2, h: 1 // 抛弃值 _, b = 5, 7
全局变量: 可以声明,但不使用
局部变量: 声明后必须使用,可使用
:=
进行简短声明并赋值a := 1
4.4.1 类型
值类型
int
,float
,bool
,string
属于值类型,使用这些类型的变量直接指向存在内存中的值
进行赋值
j = i
时,实际上将内存中的值进行拷贝值类型变量的值存在栈中
使用
&
获取内存地址:&i
引用类型
引用类型存储的时变量值所在的内存地址
引用类型变量赋值:
r2 = r2
,只有地址被复制,对r2
的修改将会影响r1
4.4.2 init 函数
每个源文件可包含一个或多个 init()
函数,多个会按照从上至下的顺序执行。
在包初始化时自动执行且无法人为执行,优先级高于main()
。
变量可在init()
中初始化:
package trans
import "math"
var Pi float64
func init() {
Pi = 4 * math.Atan(1) // init() function computes Pi
}
Powered by Waline v2.15.2