Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。

结构体是由一系列具有相同类型或不同类型的数据构成的数据集合

结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性:

Title :标题

Author : 作者

Subject:学科

ID:书籍ID

1、定义结构体

结构体定义需要使用 type 和 struct 语句。

type 语句设定了结构体的名称,struct 语句定义一个新的数据类型,结构体有中有一个或多个成员。

结构体的格式如下:

type struct_variable_type struct {

member definition

member definition

...

member definition

}

一旦定义了结构体类型,它就能用于变量的声明。

语法格式如下:

variable_name := structure_variable_type {value1, value2...valuen}

variable_name := structure_variable_type { key1: value1, key2: value2..., keyn: valuen}

实例如下:

2、访问结构体成员

如果要访问结构体成员,需要使用点号 . 操作符,格式为:

结构体.成员名"

结构体类型变量使用 struct 关键字定义,实例如下:

3、结构体作为函数参数

你可以像其他数据类型一样将结构体类型作为参数传递给函数。并以以上实例的方式访问结构体变量:

4、结构体指针

你可以定义指向结构体的指针类似于其他指针变量,格式如下:

var struct_pointer *Books

以上定义的指针变量可以存储结构体变量的地址。

查看结构体变量地址,可以将 & 符号放置于结构体变量前:

struct_pointer = &Book1;

使用结构体指针访问结构体成员,使用 "." 操作符:

struct_pointer.title;

接下来让我们使用结构体指针重写以上实例,代码如下:

5、总结

(1)、结构体是作为参数的值传递

(2)、如果想在函数里面改变结构体数据内容,需要传入结构体指针

qt socket 传递结构体 结构体中有list_GO语言入门-14、结构体相关推荐

  1. Linux结构体变量报错,C语言中的结构体

    用户自己建立自己的结构体类型 1.  定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...

  2. qt socket 传递结构体 结构体中有list_计算机网络应用--Socket编程实验(二)

    本节关于socket部分函数库列表,具体基于socket的实例实现代码见下节.给出基于winSocket的简单websever实例. 2.1 WSAStartup() [函数原型] int WSASt ...

  3. C语言入门(七)——结构体

    复合类型与结构体 数据抽象 数据类型标志 嵌套结构体 复合类型与结构体 在编程语言中,最基本的,不可再分的数据类型称为基本类型,例如整型,浮点型;根据语法规则由基本类型组合而成的类型称为复合类型,例如 ...

  4. c语言结构体工人评优题,C语言复习习题-结构体

    结构体 1. 若有以下说明语句: struct  student { int num; char name[ ]; float score; }stu; 则下面的叙述不正确的是: ( D ) A. s ...

  5. C语言结构体与指针ppt,c语言指针和结构体:链表详解.ppt

    c语言指针和结构体:链表详解.ppt 1,第十一章 链表,2,例跳马.依下图将每一步跳马之后的位置x,y放到一个"结点"里,再用"链子穿起来",形成一条链,相邻 ...

  6. 举例说明html语言的结构,第2章、HTML语言的基本结构.doc

    第2章.HTML语言的基本结构 2.1 认识HTML语法 HTML(HyperText Mark Language,超文本标识语言)是用于World Wide Web的语言.它的语法是由标记(tags ...

  7. c语言结构体如何定义字母,c语言中定义结构体如何定义?

    满意答案 lrlp1811p 2013.01.10 采纳率:43%    等级:12 已帮助:8875人 #include #include main() { struct STUDENT { cha ...

  8. java链式结构_(Java)单链表Java语言链式结构实现(数据结构四)

    1.迭代器接口实现 package com.zhaochao; public interface Iterator { boolean hasNext(); E next(); boolean del ...

  9. c语言中结构体数组的引用,【C语言入门教程】7.2 结构体数组的定义和引用

    7.2 结构体数组的定义和引用 当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间.如下例所示: struct student stu_a[50] ...

  10. c语言结构体共用体枚举实例程序,10-C语言结构体-共用体-枚举

    结构体是什么? 结构体和数组一样属于构造类型 数组是用于保存一组相同类型数据的,而结构体是用于保存一组不同类型的数组 定义结构体 在使用结构体之前必须先定义结构体类型,因为C语言不知道你的结构体中需要 ...

最新文章

  1. 扩增子统计绘图6韦恩图:比较组间共有和特有OTU或分类单元
  2. CAMB输出保留小数位数问题
  3. Java TreeMap 和 TreeSet 源码解析
  4. 信息学奥赛一本通C++语言——1046:判断一个数能否同时被3和5整除
  5. 快了!华为Mate X国内发布时间曝光:另有麒麟990版本
  6. Oracle中如何判断字符串是否全为数字
  7. 管理感悟:忙的真正含义是没心思
  8. 有赞 插入html,有赞 前端工程师面试题
  9. Modbus_TCP 报文格式解析
  10. 10分钟了解Activity工作流
  11. SOP 封装 和 SOIC 封装的区别——细微差别,可以混用
  12. 项目管理中的变更管理是什么?
  13. 人工智能与大数据就业前景_大数据,数据分析和人工智能方向就业前景
  14. ios企业证书过期更新及推送证书更新(推荐)
  15. python统计三国演义人物出场次数
  16. 小木虫刻意隐瞒伪化生学科现状,劝人入坑,天打雷劈!
  17. STM32CUBEIDE配置FreeRTOS
  18. Mysq数据量不大查询速度却很慢,记录一次left join查询优化
  19. linux查看是否开启审计功能,linux审计功能auditd
  20. Proxy是代理,Reflect是干嘛用的?

热门文章

  1. 将 url query参数 字符串转换为JSON 对象
  2. vue中 点击二维码刷新图片(src不变)
  3. Android Studio 报 非法字符: ‘\ufeff‘解决
  4. 写一个控制gpio的驱动
  5. LeetCode 973. K Closest Points to Origin
  6. 【t098】符文之语
  7. USACO 4.3.1 Buy Low, Buy Lower
  8. 安全微软微软安全新闻聚焦-双周刊第三十二期
  9. CentOS7网络快速解决
  10. leetcode 20. 有效的括号 (python)