注:本文是我的自学笔记,不具备教学意义,如有错误欢迎指出
值类型 值复制 不改变
map 和 切片要创建空间
结构体地址连续,可以通过地址的加减访问,但存入的地址不一定连续!!!重要
结构体之间类型转换需要名字,类型,数量都相同
结构体定义和赋值
type people struct {
name string
age int
}
func main() {
var on1 people
on1.name = "小红"
on1.age = 12
fmt.Println(on1)
//此方法可以不按顺序输入,也可以不全填,不填的为默认值
var on2 people = people{
name: "小绿",
age: 30,
}
fmt.Println(on2)
//此方法需要需要按顺序输入值,且不可缺一
var on3 people = people{"小黄" , 15}
fmt.Println(on3)
var on4 *people = &people{}
on4.name = "小智"
(*on4).age = 19
fmt.Println(on4)
var on5 *people = new(people) //开创一片空间,将该空间的地址返回给指针 no5
(*on5).name = "小光" //此方法为正规形式
on5.age = 18 //此方法不会报错,在编译时,会将其转换成 (*on5).age
fmt.Println(on5)
}
map和切片在结构体的赋值
可以通过结构体指针修改结构体值