怎么使用Go语言基础结构体
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇内容主要讲解"怎么使用Go语言基础结构体",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用Go语言基础结构体"吧!概述结构体是由一系列具有相同类型
千家信息网最后更新 2025年11月08日怎么使用Go语言基础结构体
本篇内容主要讲解"怎么使用Go语言基础结构体",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用Go语言基础结构体"吧!
概述
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合
语法
定义结构体【标识自定义结构体的名称,在同一个包内不能重复】
type 结构名 struct { 字段1: 字段1的值, 字段2: 字段2的值, ......}例子
//学生type Student struct { Name string //姓名 Age int //年龄 Sex bool //性别 true:男 false:女}结构体定义的三种形式
第一种【基本的实例化】
var stu Student
第二种【指针类型的结构体】
var stu *Student = new(Student)
第三种【取结构体的地址实例化,通过&的操作】
var stu *Student = &Student{}初始化结构体
键值对初始化结构体
键值之间以:分隔;键值对之间以,分隔
变量名 := 结构体类型名{
字段1: 字段1的值,
字段2: 字段2的值,
......
}
例子
stu3 := Student{ Name: "李四", Age: 18}值列表填充结构体
没有字段,按着序列,必须全部填充
变量名 := 结构体类型名{
字段1的值,
字段2的值,
......
}
stu4 := Student{ "王五", 18, true,}匿名结构体
定义结构体时同时赋值
变量名 := struct{
字段1: 字段类型1,
字段2: 字段类型2,
......
}{
// 字段值初始化
字段1: 字段1的值,
字段2: 字段2的值,
......
}
stu5 := struct { Name string Age int}{ Name: "王五", Age: 18,}访问结构体成员
赋值、访问都使用"."点这个符号
结构体.字段
var stu Studentstu.Name="张三" //赋值stu.Age=18stu.Sex=truefmt.Println(stu.Age) //访问
结构体作为函数参数
func 函数名([结构体变量、结构体指针变量]){}func printStudent(stu Student) {}func printStudent(stu *Student) {}结构体指针
使用结构体指针访问结构体成员,使用 "." 操作符。
var 变量名 *结构名
var stu1 *Student = new(Student)stu1.Name = "李四"stu1.Age = 20stu1.Sex = false
添加结构体方法
给结构体添加方法,在func和方法名之间加一个括号,加入该结构体的指针引用【也可以是值引用】
func ([结构体名]) 方法名([参数列表])[返回值列表]{}例子
var stu Studentstu.Name = "张三"stu.Age = 18stu.Sex = false//调用stu.sayHi()//添加结构体方法func (stu Student) sayHi() { fmt.Println(stu.Name, "Hi")}总结
golang是非面向对象语言,也可以说go语言中的结构体类似java中的类,但是很明显缺少继承多态等等OO的特性
指针变量通过.访问结构体成员,如果是C或者C++一定要通过*访问,这是Go对它的一个优化
示例
package mainimport "fmt"//定义结构体【标识自定义结构体的名称,在同一个包内不能重复】type Student struct { Name string Age int Sex bool}func main() { //struct定义的三种形式 var stu Student stu.Name = "张三" stu.Age = 18 stu.Sex = false fmt.Println(stu) var stu1 *Student = new(Student) stu1.Name = "李四" stu1.Age = 20 stu1.Sex = false fmt.Println(stu1) var stu2 *Student = &Student{} stu2.Name = "王五" stu2.Age = 55 stu2.Sex = true fmt.Println(stu2) //初始化结构体 stu3 := Student{ Name: "李四", Age: 18} fmt.Println(stu3) stu4 := Student{ "王五", 18, true, } fmt.Println(stu4) //匿名结构体 stu5 := struct { Name string Age int }{ Name: "王五", Age: 18, } fmt.Println(stu5) // printStudent(stu) printStudent(stu1) stu.sayHi()}//添加结构体方法func (stu Student) sayHi() { fmt.Println(stu.Name, "Hi")}// func printStudent(stu Student) {// fmt.Println(stu.Name, stu.Age, stu.Sex)// }func printStudent(stu *Student) { fmt.Println(stu.Name, stu.Age, stu.Sex)}到此,相信大家对"怎么使用Go语言基础结构体"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
结构
字段
变量
方法
类型
指针
语言
王五
李四
基础
语言基础
之间
例子
成员
张三
三种形式
内容
函数
参数
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全影响经济社会稳定
福州学习网络安全实战教学
百炼是书目数据库吗
打造网络安全人才
软件开发新课堂java
棋牌服务器端
买来服务器怎么装系统
网络安全教育小学2
软件开发能形成产业链吗
acbi数据库
网络营销是一个单纯的网络技术
国际学生网络安全研究生
龙胜教育网络安全系统
防护云服务器
品牌网络技术咨询介绍
顶点网络安全知识
关于网络安全的思考讨论
慕华北京网络技术有限公司
北京企业软件开发编程
服务器带阵列柜
塔式服务器电源
数据库执行命令错误
小学网络安全主题表演
幻塔安卓服务器名称
联想服务器id按钮有什么作用
数据库如何找到主码
中山网络安全平台
软件开发方法是指导软件开发
意识形态网络安全讲座主持词
计算机三级网络技术通用