变量
任何一门语言都会有类似的东西。
- 变量
- 值
变量:装载值的容器,值会存在不同的数据类型
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。
变量申明:Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明,并且Go语言的变量声明后必须使用。
# 标准申明:var 变量名 变量类型
var a string
# 批量申明:var (
a string
b int64
c bool
d float32
)
变量初始化:
# var 变量名 类型 = 表达式
# 自动推导:var age = 18
变量简化申明并初始化:
age := 18
数据类型
数据类型:内置类型和自定义类型
内置类型
bool -- 布尔型
int8, int16, int32, int64 -- 数值型:整数
uint8(byte), uint16, uint32, uint64 -- 数值型:整数
float32, float64 -- 数值型:浮点
string --字符串
byte --字符型
complex64, complex128 --复数类型
array --固定长度的数组
* --指针
struct --结构体
slice -- 序列数组(最常用)
map -- 映射
chan -- 管道
func --函数
interface --接口
自定义类型
//将MyInt定义为int32类型
type MyInt int32
//类型别名定义格式
type TypeAlias = Type
//把int32类型取个别名 rune
type rune = int32
//定义一个自定义的 Test 结构体类型
type Test struct {
a int
}
//定义一个变量a,并初始化为Test类型的值
var a = Test {
a: 1
}
//申明一个map类型的变量a
var a map[string]any
//初始化一个map类型的值赋值给变量a
a = map[string]any {
"a": 1
}