广告
返回顶部
首页 > 资讯 > 精选 >怎么使用Go语言基础结构体
  • 811
分享到

怎么使用Go语言基础结构体

2023-06-25 15:06:46 811人浏览 安东尼
摘要

本篇内容主要讲解“怎么使用Go语言基础结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用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 stringAge  intSex  bool}func main() {//struct定义的三种形式var stu Studentstu.Name = "张三"stu.Age = 18stu.Sex = falsefmt.Println(stu)var stu1 *Student = new(Student)stu1.Name = "李四"stu1.Age = 20stu1.Sex = falsefmt.Println(stu1)var stu2 *Student = &Student{}stu2.Name = "王五"stu2.Age = 55stu2.Sex = truefmt.Println(stu2)//初始化结构体stu3 := Student{Name: "李四",Age:  18}fmt.Println(stu3)stu4 := Student{"王五",18,true,}fmt.Println(stu4)//匿名结构体stu5 := struct {Name stringAge  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语言基础结构体”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么使用Go语言基础结构体

本文链接: https://www.lsjlt.com/news/305736.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用Go语言基础结构体
    本篇内容主要讲解“怎么使用Go语言基础结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Go语言基础结构体”吧!概述结构体是由一系列具有相同类型或不同类型的数据构成的数据集合语法定义结...
    99+
    2023-06-25
  • Go语言基础结构体用法及示例详解
    目录概述语法结构体定义的三种形式第一种【基本的实例化】第二种【指针类型的结构体】第三种【取结构体的地址实例化,通过&的操作】初始化结构体键值对初始化结构体值列表填充结构体匿名...
    99+
    2022-11-12
  • Go语言基础语法之结构体及方法详解
    结构体类型可以用来保存不同类型的数据,也可以通过方法的形式来声明它的行为。本文将介绍go语言中的结构体和方法,以及“继承”的实现方法。 结构体类型 结构体类型(struct)在go语...
    99+
    2022-11-12
  • go语言结构体怎么赋值
    在Go语言中,结构体的赋值可以通过两种方式进行:1. 通过字段名逐个赋值:可以使用`结构体变量名.字段名`的方式进行赋值。例如:``...
    99+
    2023-10-10
    go语言
  • Go语言中如何使用结构体
    这篇文章将为大家详细讲解有关Go语言中如何使用结构体,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。结构体结构体是 go 语言中一个比较重要的概念,在 c  语言中也有类似的东西。由...
    99+
    2023-06-15
  • Go语言中结构体如何使用
    本篇文章为大家展示了Go语言中结构体如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。结构体Go语言中的基本数据类型可以表示一些事物的基本属性,但是当我们想表达...
    99+
    2022-10-18
  • Go语言的结构体如何使用
    这篇文章主要介绍“Go语言的结构体如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言的结构体如何使用”文章能帮助大家解决问题。定义结构体,是一种自定义的数据类型,由多个数据类型组合而成。...
    99+
    2023-07-05
  • Go 语言结构体链表的基本操作
    目录1. 什么是链表2. 单项链表的基本操作3. 使用 struct 定义单链表4. 尾部添加节点方法一5. 头部插入节点方法一6. 指定节点后添加新节点7. 删除节点1. 什么是链...
    99+
    2022-11-13
  • Go语言基础之怎么使用Map
    这篇文章主要讲解了“Go语言基础之怎么使用Map”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Go语言基础之怎么使用Map”吧!引入mapmap,在Python中叫字典,Java中也叫map...
    99+
    2023-06-16
  • Go语言空结构体是什么
    这篇文章主要为大家展示了“Go语言空结构体是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Go语言空结构体是什么”这篇文章吧。什么是空结构体我们说不包含任何字段的结构体叫做空结构体,可以通过...
    99+
    2023-06-28
  • Go基础编程之什么是结构体
    本篇内容主要讲解“Go基础编程之什么是结构体”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go基础编程之什么是结构体”吧!结构体(struct)是自定义方式形成...
    99+
    2022-10-19
  • Go语言中怎么实现结构体反射
    本篇文章给大家分享的是有关Go语言中怎么实现结构体反射,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。结构体type Student struct ...
    99+
    2023-06-15
  • Go语言中的Struct结构体怎么声明
    这篇文章主要介绍了Go语言中的Struct结构体怎么声明的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言中的Struct结构体怎么声明文章都会有所收获,下面我们一起来看看吧。一、Struct结构体Go语言...
    99+
    2023-07-02
  • go语言结构体指的是什么
    这篇文章主要介绍“go语言结构体指的是什么”,在日常操作中,相信很多人在go语言结构体指的是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言结构体指的是什么”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • Go语言中如何使用结构体构造函数
    这篇文章将为大家详细讲解有关Go语言中如何使用结构体构造函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Go语言的结构体 构造函数下面的代码就实现了一个P...
    99+
    2022-10-18
  • Go语言中结构体的作用是什么
    这篇文章给大家介绍Go语言中结构体的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。自定义类型type 自定义类型名 类型名 例: type NewInt&nb...
    99+
    2023-06-15
  • C语言中的结构体怎么使用
    这篇文章主要讲解了“C语言中的结构体怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言中的结构体怎么使用”吧!一、关于结构体在C语言中,结构体(struct)指的是一种数据结构,是...
    99+
    2023-06-16
  • Go语言中常用的基础方法总结
    目录字符串1.使用正则表达式验证字符串2.字符串和数字的相互转换3.格式化字符串时间1.字符串和时间的相互转换2.时间的比较切片映射接口延迟函数指针结构体并发字符串 1.使用正则表达...
    99+
    2022-11-11
  • Go语言函数、结构体、方法和接口怎么用
    本篇内容介绍了“Go语言函数、结构体、方法和接口怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 函数Go语言的函数属于“一等公民”...
    99+
    2023-06-30
  • Go语言结构体struct详解,Go空结构体的这些妙用你知道吗?
    本文详解了Go语言结构体的各个知识点,最后介绍了空结构体的3种妙用。希望对你有帮助。 定义 结构体,是一种自定义的数据类型,由多个数据类型组合而成。用于描述一类事物相关属性。 定义方式: typ...
    99+
    2023-09-07
    golang java 算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作