一、变量
变量的介绍
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门
牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量
(值)
变量的使用步骤
- 声明变量(也叫:定义变量)
- 非变量赋值
- 使用变量
二、go中变量的使用
1、变量的声明,初始化和赋值
2、三种使用方式
2.1 指定变量类型,声明后若不赋值,使用默认值
package main
import "fmt"
func main() {
var num int
var num1 int = 20
fmt.Println(num,num1)
}
输出:
0 20
2.2. 根据值自行判定变量类型(类型推导)
可以省略变量的类型,由编译器在编译时根据所赋的值推导出变量的类型(这个需要赋值才能省略)
package main
import "fmt"
func main() {
//单独定义
var num int
var num1 = 20
var num2 = 30
fmt.Println(num,num1,num2)
}
2.3. 省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
package main
import "fmt"
func main() {
//num变量在此之前不能被声明或定义
num := 10
fmt.Println(num)
}
3、批量定义
在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法
三、数据类型
在go的数据类型可以分为基本数据类型、复杂数据类型两种;按照值得传递又可以分为值传递和引用传递
值类型和引用类型的使用特点
- 值类型:变量直接存储值,内存通常在栈中分配
示意图:
- 引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆
上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由 GC 来回收
示意图:
- 内存的栈区和堆区示意图
作者:iRich_全栈 | 来源:http://39sd.cn/E9F10