Go Struct
2023-09-09 10:14:59 来源:博客园
结构体(简称struct)用于创建不同数据类型的成员集合,放入一个单一的变量中。虽然数组用于将相同数据类型的多个值存储在单一变量中,但结构体用于将不同数据类型的多个值存储在单一变量中。结构体对于将数据组合在一起以创建记录非常有用。
(相关资料图)
声明结构体
要在Go中声明一个结构体,请使用type和struct关键字:
语法
type 结构体名 struct { 成员1 数据类型; 成员2 数据类型; 成员3 数据类型; ...}
示例
在这里,我们声明了一个名为Person的结构体类型,其中包含以下成员:name、age、job和salary:
type Person struct { name string age int job string salary int}
提示:请注意,上述结构体成员具有不同的数据类型。name和job是string类型,而age和salary是int类型。
访问结构体成员
要访问结构体的任何成员,使用结构体变量名称和结构体成员之间的点运算符(.):
示例
package mainimport ("fmt")type Person struct { name string age int job string salary int}func main() { var pers1 Person var pers2 Person // Pers1 详细信息 pers1.name = "Hege" pers1.age = 45 pers1.job = "Teacher" pers1.salary = 6000 // Pers2 详细信息 pers2.name = "Cecilie" pers2.age = 24 pers2.job = "Marketing" pers2.salary = 4500 // 访问并打印 Pers1 信息 fmt.Println("Name: ", pers1.name) fmt.Println("Age: ", pers1.age) fmt.Println("Job: ", pers1.job) fmt.Println("Salary: ", pers1.salary) // 访问并打印 Pers2 信息 fmt.Println("Name: ", pers2.name) fmt.Println("Age: ", pers2.age) fmt.Println("Job: ", pers2.job) fmt.Println("Salary: ", pers2.salary)}
结果:
Name: HegeAge: 45Job: TeacherSalary: 6000Name: CecilieAge: 24Job: MarketingSalary: 4500
将结构体作为函数参数传递
您也可以将结构体作为函数参数传递,如下所示:
示例
package mainimport ("fmt")type Person struct { name string age int job string salary int}func main() { var pers1 Person var pers2 Person // Pers1 详细信息 pers1.name = "Hege" pers1.age = 45 pers1.job = "Teacher" pers1.salary = 6000 // Pers2 详细信息 pers2.name = "Cecilie" pers2.age = 24 pers2.job = "Marketing" pers2.salary = 4500 // 通过调用函数打印 Pers1 信息 printPerson(pers1) // 通过调用函数打印 Pers2 信息 printPerson(pers2)}func printPerson(pers Person) { fmt.Println("Name: ", pers.name) fmt.Println("Age: ", pers.age) fmt.Println("Job: ", pers.job) fmt.Println("Salary: ", pers.salary)}
结果:
Name: HegeAge: 45Job: TeacherSalary: 6000Name: CecilieAge: 24Job: MarketingSalary: 4500
最后
为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding
,知乎,开源中国,CSDN,思否,掘金,InfoQ,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注
关键词:
相关阅读
-
Go Struct
结构体(简称struct)用于创建不同数据类型的成员集合,放入一个单一的 -
50个福建省重大项目集中签约 计划总投...
东南网9月8日讯(记者夏菁)9月8日上午,第二十三届中国国际投资贸易洽 -
中蒙博览会隆重召开,珠江投管携合创V09...
9月6日至10日,第四届中蒙博览会在内蒙古呼和浩特举办,围绕“共建... -
海口美兰区“掠影拾真 约‘绘’美兰”...
新海南客户端、南海网9月8日消息(记者李文韬通讯员王聘钊)9月8日,海 -
上海市人民政府同意组建上海交易集团有...
上海市人民政府同意组建上海交易集团有限公司。请市国资委按照规定程序 -
赋能基层农技协 全国农业大咖在泰州“...
9月4日至6日,全国农技协组织振兴交流观摩活动暨2023年第四期农技协改 -
今日5只A股跌停 有色金属行业跌幅最大
证券时报& 183;数据宝统计,截至上午收盘,今日沪指涨幅-0 53%,A股成 -
香港医管局:暴雨期间1人失踪2人死亡 ...
香港医管局8日表示,暴雨期间有1人失踪,117人受伤到公立医院急症室求 -
马斯克私生子曝光!母亲是女下属:两人...
在《埃隆·马斯克传》这本新书中,马斯克提到了他对人工智能的看法... -
河北省2022年工业互联网平台发展指数居...
原标题:《2022年全国工业互联网平台应用水平评价报告》出炉河北省2022 -
【雄安之声】《中国(河北)自由贸易试...
近日,雄安自贸试验区管委会印发《中国(河北)自由贸易试验区雄安片区 -
2023西安商贸领域短视频营销大赛颁奖盛...
金牌服务,创意营销。9月7日下午,2023西安商贸领域短视频营销大赛颁奖 -
联合国粮农组织:8月全球食品价格指数下降
据联合国粮农组织9月8日发布的报告,8月除大米、糖以外的主要大宗食品 -
农业农村部唐珂:不断把马铃薯产业做大做强
农业农村部新闻办公室8日举行新闻发布会。农业农村部市场与信息化司司 -
送证上门,暖心!
本网讯(草原全媒·内蒙古新闻网记者杨佳通讯员贾德京)近日,呼和浩... -
《大盛魁》剧组故地重游
《大盛魁》主创人员在大盛魁博物馆集群合影参观文物王新民讲述拍戏的经 -
黄冈科技职业学院青海录取分数线 黄冈...
报考指南是很多朋友有关注的类型,那么黄冈科技职业学院青海录取分数线 -
问河北|出了家门就进公园,河北咋实现?
城市街头那些小而美的口袋公园,您逛过吗?为了让市民能“推窗见绿... -
雄安新区成功落地河北省首笔跨境汇款“...
中国雄安官网8月7日电日前,国家外汇管理局雄安新区分局指导中国银行河 -
dnf十周年纪念武器装扮(dnf十周年)
1、登录并享受礼物2、这需要玩家在2018年6月23日至24日期间登录游戏,