Go语言入门心法(二): 结构体

news2025/6/26 2:41:21





一: Go语言中结构体认知


package main

import "fmt"

/*
   go语言中的结构体认知升维:

*/
func main() {
	println(`
       go语言中的结构体与c语言中的结构体类似;
       go语言中的结构体相当于java|python中类功能相当
   `)

	type Book struct {
		title    string // 标题
		author   string // 作者
		numCount int    // 数量
		id       int64  // 编号id
	}

	println("go语言中的结构体定义中,如果变量类型相同的结构体成员,可以将它们写在同一行")

	type Person struct {
		name, address, schoolName string // 名称,地址,毕业学校
		age                       int    // 年龄
		sex                       int    // 性别: 0-男;1-女
		marry                     bool   // 是否结婚
	}
	println()
	// 创建类的实例标量 person
	var person Person
	// 修改属性的默认值
	person.schoolName = "清华大学"
	println("实例化Person结构体: ", person.schoolName)
	println()
	fmt.Println(person)
	println()
	fmt.Println("结构体实例化第二种方式:")
	book := new(Book)
	println(book)
	fmt.Println(book)
}

运行效果:

GOROOT=D:\program_file_worker\go1.20 #gosetup
GOPATH=D:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup
D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_BookStructGrammar_go.exe D:\program_file\go_workspace\org.jd.data\struct\BookStructGrammar.go #gosetup
C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_BookStructGrammar_go.exe

       go语言中的结构体与c语言中的结构体类似;
       go语言中的结构体相当于java|python中类功能相当

go语言中的结构体定义中,如果变量类型相同的结构体成员,可以将它们写在同一行

实例化Person结构体:  清华大学

{  清华大学 0 0 false}

结构体实例化第二种方式:
0xc00001c0f0
&{  0 0}

Process finished with the exit code 0
 


忙着去耍帅,后期补充完整............

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在九天服务器平台上使用自己上传的数据集文件

1.进入到“数据管理”中,点击“新建数据” 2. 创建实例,进入到Jupyter页面 刚才上传的文件在data文件夹中 3. 将data文件夹中上传的数据集放到其他目录,比如这里我就放到了~/目录下 # 要把当前文件夹下的指定文件复制到目的路径的命令&…

Stm32_标准库_10_TIM_显示时间日期

利用TIM计数耗费1s,启动中断,秒表加一 时间显示代码: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h"uint16_t num 0; TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; NVIC_I…

超美!ChatGPT DALL-E 3已可用,另外GPT-4可上传图片进行问答

今天,在ChatGPT里使用DALL-E 3的功能终于上线了。以下是截图: 在GPT-4下加了一个菜单入口,名为 DALL-E 3,这也意味着ChatGPT免费账户暂时不能使用这个功能。 我们体验一下这个功能。 技术交流 建了技术交流群!想要进…

STM32--WDG看门狗

文章目录 WDG简介IWDGIWDG的超时计算WWDGWWDG超时和窗口值设定独立看门狗工程WWDG工程 WDG简介 WDG看门狗(Watchdog Timer)是一种常见的硬件设备,在STM32F10系列中,有两种看门狗,分别是独立看门狗和窗口看门狗&#x…

Django 静态自定义化配置

STATIC # APP本地静态资源目录(就APP对应的) STATIC_URL "/static/"# 远程静态文件URL(少用) REMOTE_STATIC_URL# 外部引用静态文件目录(外层的) STATICFILES_DIRS [os.path.join(BASE_DIR, &…

Ubuntu系统下安装rpm安装包的方法

前言 Ubuntu的软件包格式为deb 而RPM格式的包归属于红帽子Red Hat 在这直接使用命令是安装不了的 需要通过一个桥梁进行转换 方法 将其rpm的格式包转换为deb的格式包 具体转换通过alien进行转换 这个安装包默认是没有安装的 sudo apt-get install alien 之后通过这个命令将…

相交链表Java

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 nu11。 以下有两种解决方法: 一种是用Map,利用其key值唯一的方法去判断(也可以使用set,set在add时,已存在的元素会返回false,不存在的返回…

元宇宙虚拟展厅:沉浸式体验、个性化互动、全新展示

近年来,大多数企业开始注重线上虚拟展厅的搭建,元宇宙虚拟展厅也为众多企业创造了更多有趣的体验,为商企带来了全新的宣传方式。相对于传统展厅而言,元宇宙虚拟展厅在场景真是复刻的基础上,做到了超越真实。 传统展厅的…

关于网络协议的若干问题(三)

1、当发送的报文出问题的时候,会发送一个 ICMP 的差错报文来报告错误,但是如果 ICMP 的差错报文也出问题了呢? 答:不会导致产生 ICMP 差错报文的有: ICMP 差错报文(ICMP 查询报文可能会产生 ICMP 差错报文…

核心期刊发布通知:养育三孩家庭作者免收版面费!(附免收期刊盘点)

免收版面费通知 近日,中文核心期刊《财会通讯》在其官方微信平台发布通知《关于对养育三孩家庭的作者免收版面费的通知》。 图源:《财会通讯》官方微信平台 通知称:为落实党的二十大报告中关于“优化人口发展战略,建立生育支持…

如何在STM32中实现TCP通信?

如何在STM32中实现TCP通信? TCP通信在计算机网络中扮演着重要角色,实现它需要兼顾硬件和软件因素。 硬件层面,某些STM32处理器内置了Ethernet MAC,这有利于简化网络通信的部署。若处理器缺乏内置MAC,需外接以太网控制…

22字符串-简单反转

目录 BM(Boyer-Moore) 坏字符 好后缀 什么情况用哪个规则? LeetCode之路——151. 反转字符串中的单词 分析: 字符串匹配中除了简单的BF(Brute Force)、RK(Rabin-Karp)算法,还有…

物业巡检系统能做什么?物业服务如何提升管理效率?

随着科技的快速发展,物业管理行业也在寻求着更加高效、智能化的解决方案,以应对日益复杂的设备和环境巡检上的需求。目前传统的纸质巡检方式已经无法满足现代物业管理的要求,“的修”工单管理系统应运而生,它通过数字化、智能化的…

软件成果鉴定测试应该怎么做?对软件产品起到什么作用?

软件成果鉴定测试是指对一个软件产品进行全面、系统的测试,以评估其是否符合预期的要求、是否满足特定的标准和规范。该测试旨在发现和解决软件产品中的缺陷和问题,确保其质量和可靠性。 一、软件成果鉴定测试包括以下内容   1、需求分析:…

ctfshow-ssti

web361 名字就是考点,所以注入点就是name 先测试一下存不存在ssti漏洞 利用os模块,脚本 查看一下子类的集合 ?name{{.__class__.__base__.__subclasses__()}} 看看有没有os模块,查找os 利用这个类,用脚本跑他的位置 import …

【USRP】NI PCIe-8371

什么是 NI PCIe-8371 PXI远程控制设备。 x4 Gen1 PCI Express主机,832 MB/s,铜缆MXI-Express设备,用于PXI远程控制—PCIe‑8371是一款MXI‑Express远程控制器,用于控制通过有线PCI连接到计算机PCI Express插槽的设备或系统。 当…

oracle手工创建数据库?稳健一文

一、描述 新加了一块盘做手工创建数据库的数据文件目录 oradata; 这台服务器上本来就有一个单机asm数据库,我内存不够先关闭了 二、手工创建oracle数据库 1、设置ORACLE_SID [oracleoomcserver ~]$ cp .bash_profile .bash_profile_omccdb [oracleoomc…

再谈Java泛型

一.类型参数的约束 我们可以对泛型传进来的参数做一些约束,比如说 用extends表明传进来的参数类型必须是必须是某个类型的子类型或者本身 当然也可以用接口约束,也是用extends表明传进来的参数类型必须实现某个接口。用&连接,注意class…

SpringBoot-黑马程序员-学习笔记(四)

40.业务层Service的快速开发 1.写业务层接口并且继承IService类,泛型是对应的实体类 2.写实现类,除了和之前一样的实现Service类外,还要继承ServiceImpl类,泛型有2个,第一个是对应的Dao层,第2个是对应的实…

深入解析Spring Cloud Gateway的GlobalFilter

文章目录 摘要引言GlobalFilter的作用使用GlobalFilter默认的GlobalFilter自定义GlobalFilter 示例代码配置GlobalFilter配置文件方式代码方式 高级用法:重写GlobalFilter思路代码实现 结论参考文献 摘要 本文将详细介绍Spring Cloud Gateway中的GlobalFilter&…