Go——小白学习之结构体

简介: 结构体普通变量:结构体指针变量p2属于main函数里的一个Student的结构体是指针类型结构体成员的使用:普通变量结构体成员的使用:指针变量...

结构体普通变量:

img_ddec61664d1287785b4c170b842341bf.png
img_6e11c5dae0f94e862201232494288512.png

结构体指针变量


img_847756ce3baca2595f0fe8b6925ff47c.png


img_ca98172ea976e3304ec5eb34e395c876.png
p2属于main函数里的一个Student的结构体是指针类型

结构体成员的使用:普通变量


img_9ce071d98318055dd6a7be1eb8156396.png
img_9a96b5d7be65e950329147601982bbaa.png


结构体成员的使用:指针变量

img_c0cdf801a572af76b99e478bf48034ad.png
img_16002f997e31aa3f4eedcfd97610e880.png
目录
相关文章
|
7月前
|
安全 Java 编译器
对比Java学习Go——基础理论篇
本章介绍了Java开发者学习Go语言的必要性。Go语言以简单、高效、并发为核心设计哲学,摒弃了传统的类继承和异常机制,采用组合、接口和多返回值错误处理,提升了代码清晰度与开发效率。Go直接编译为静态二进制文件,启动迅速、部署简便,其基于Goroutine和Channel的并发模型相较Java的线程与锁机制更轻量安全。此外,Go Modules简化了依赖管理,与Java的Maven/Gradle形成鲜明对比,提升了构建与部署效率。
522 1
|
编译器 Go
揭秘 Go 语言中空结构体的强大用法
Go 语言中的空结构体 `struct{}` 不包含任何字段,不占用内存空间。它在实际编程中有多种典型用法:1) 结合 map 实现集合(set)类型;2) 与 channel 搭配用于信号通知;3) 申请超大容量的 Slice 和 Array 以节省内存;4) 作为接口实现时明确表示不关注值。此外,需要注意的是,空结构体作为字段时可能会因内存对齐原因占用额外空间。建议将空结构体放在外层结构体的第一个字段以优化内存使用。
|
7月前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
199 4
|
7月前
|
存储 Java 编译器
对比Java学习Go——程序结构与变量
本节对比了Java与Go语言的基础结构,包括“Hello, World!”程序、代码组织方式、入口函数定义、基本数据类型及变量声明方式。Java强调严格的面向对象结构,所有代码需置于类中,入口方法需严格符合`public static void main(String[] args)`格式;而Go语言结构更简洁,使用包和函数组织代码,入口函数为`func main()`。两种语言在变量声明、常量定义、类型系统等方面也存在显著差异,体现了各自的设计哲学。
272 0
|
10月前
|
Go
学习 Go并发模型
本文通过一个简单例子,讲解如何将数组数据转换为其平方值,并将其分解为三个步骤:生产信息(`producer()`)、处理信息(`square()`)和消费信息(`main()`)。进一步介绍了 FAN-OUT 和 FAN-IN 模型的优化,展示了多 goroutine 并发读写通道的实现方式。FAN-OUT 是多个 goroutine 从同一通道读取数据,而 FAN-IN 是单个 goroutine 从多个通道读取数据。最后强调了优化 FAN 模式时需根据具体场景解决瓶颈问题,并推荐使用带缓冲的通道以提高性能。
130 0
学习 Go并发模型
|
11月前
|
JSON Go C语言
Go语言之定义结构体(Struct)-《Go语言实战指南》
Go 语言中的结构体(`struct`)是一种复合数据类型,可将多个不同类型的字段组合成一个类型。本文介绍了结构体的基本定义、实例创建方式、字段访问与修改、零值特性、比较规则、嵌套使用及标签功能。通过示例代码详细讲解了如何定义和操作结构体,以及其在 JSON 编码等场景的应用。
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
414 71
|
缓存 NoSQL Go
通过 SingleFlight 模式学习 Go 并发编程
通过 SingleFlight 模式学习 Go 并发编程
|
存储 Rust Go
Go nil 空结构体 空接口有什么区别?
本文介绍了Go语言中的`nil`、空结构体和空接口的区别。`nil`是预定义的零值变量,适用于指针、管道等类型;空结构体大小为0,多个空结构体实例指向同一地址;空接口由`_type`和`data`字段组成,仅当两者均为`nil`时,空接口才为`nil`。
318 1
Go nil 空结构体 空接口有什么区别?
|
数据采集 监控 Java
go语言编程学习
【11月更文挑战第3天】
300 7

热门文章

最新文章