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时,实际上将内存中的值进行拷贝
image-20230502151223391 值类型变量的值存在栈中
使用
&获取内存地址:&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
