go语言 结构体 (笔记未完成)

本文介绍了Go语言中结构体的定义、赋值及指针使用,强调了值类型复制的特性以及结构体地址访问的规则。同时,探讨了map和切片在内存管理上的差异,说明它们需要额外的空间分配。通过实例展示了如何通过结构体指针修改结构体值。
摘要由CSDN通过智能技术生成

注:本文是我的自学笔记,不具备教学意义,如有错误欢迎指出

值类型 值复制 不改变

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和切片在结构体的赋值

可以通过结构体指针修改结构体值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值