GO语言基础教程(103)Go结构体之结构体基本用法:Go语言结构体全攻略:从小白到高手,这就够了!

听说Go语言没有类?别慌,结构体让你真香!

01 初识结构体:Go的"轻量级类"

刚开始学Go时,很多人都会有个疑问:"Go没有类,怎么面向对象?"这个问题曾让我百思不得其解。

但别担心,Go有结构体——这个全能选手可以轻松应对各种复杂数据场景。

简单来说,结构体就是将一个或多个任意类型的变量组合在一起的聚合数据类型。每个变量都称为结构体的成员。

想象一下,你要处理学生信息:姓名、年龄、成绩等。没有结构体时,你可能要维护多个数组或映射,麻烦且容易出错。

有了结构体,一切就变得优雅起来:

type Student struct {
    Name string
    Age int
    Sex string
    Score int
}

看,就是这么简单!我们创建了一个Student类型,把相关的数据字段捆绑在一起。

与传统的面向对象语言不同,Go语言放弃了包括继承在内的大量面向对象特性,只保留了组合这个基础特性。

这种设计哲学让Go的结构体更加简洁和灵活,不像传统类那样沉重。

02 结构体基础:从定义到访问

结构体的定义

定义结构体的语法非常直观:

type 结构体名 struct {
    字段1 类型
    字段2 类型
    ...
}

比如,我们要定义一个表示人物的结构体:

type Person struct {
    name string
    age  int
    job  string
    salary int
}

相同类型的字段还可以放在同一行,让代码更紧凑:

type Person struct {
    name, job string
    age int
    salary int
}

访问结构体字段

结构体字段使用点号.来访问,这和其他语言中的对象属性访问非常相似:

func main() {
    var pers1 Person
    pers1.name = "Hege"
    pers1.age = 45
    pers1.job = "Teacher"
    pers1.salary = 6000

    fmt.Println("Name: ", pers1.name)
    fmt.Println("Age: ", pers1.age)
    fmt.Println("Job: ", pers1.job)
    fmt.Println("Salary: ", pers1.salary)
}

运行这段代码,你会看

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值