golang_day4-自定义类型-类型别名-结构体和方法

本文深入讲解自定义类型MyInt和类型别名newInt,剖析结构体在解决问题中的应用,包括地址结构、Person结构体、匿名结构体和初始化方法。同时涉及值类型、嵌套、序列化与常见问题解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义类型和类型别名

type MyInt int // 自定义类型
type newInt = int // 类型别名
类型别名只在代码编写过程中有效,编译完成之后就不存在,内置的byte和rune都属于类型别名。

结构体

基本数据类型:
变成是代码解决现实生活中的问题:

var name = "CYW"

结构体是一种数据类型,可以保存多个维度数据的类型

type Addr struct {
    city string
}

type person struct {
    name string
    age int
    gender string
    addr Addr
}

匿名结构体:
多用于临时场景

var a = struct{
    x int
    y int
}

结构体的初始化

方法和接收者

方法是有接收者的函数,接收者指的是哪个类型变量可以调用这个函数

func (p *person) dream(){
    fmt.Println(p.name)
}

结构体是值类型

结构体的嵌套

结构体的匿名字段

JSON的序列号和反序列化

经常出现的问题:
1.结构体内部的字段首字母要大写,不大写别人是访问不到的
2.反序列化时要传递指针

json.Mash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值