1、结构体

1.1、结构体类型

有时我们需要将不同类型的数据组合成一个有机的整体,如:一个学生有学号/姓名/性别/年龄/地址等属性。显然单独定义以上变量比较繁琐,数据不便于管理。

结构体是一种聚合的数据类型,它是由一系列具有相同类型或不同类型的数据构成的数据集合。每个数据称为结构体的成员。

1.2、结构体普通变量初始化

示例:

package main //必须有个main包

import "fmt"

//定义一个结构体类型

type Student struct {

id int

name string

sex byte //字符类型

age int

addr string

}

func main() {

//顺序初始化,每个成员必须初始化

var s1 Student = Student{1, "mike", 'm', 18, "bj"}

fmt.Println("s1 = ", s1)

//指定成员初始化,没有初始化的成员,自动赋值为0

s2 := Student{name: "mike", addr: "bj"}

fmt.Println("s2 = ", s2)

}

执行结果:

s1 = {1 mike 109 18 bj}

s2 = {0 mike 0 0 bj}

1.3、结构体指针变量初始化

示例:

package main //必须有个main包

import "fmt"

//定义一个结构体类型

type Student struct {

id int

name string

sex byte //字符类型

age int

addr string

}

func main() {

//顺序初始化,每个成员必须初始化, 别忘了& ,&取地址

var p1 *Student = &Student{1, "mike", 'm', 18, "bj"}

fmt.Println("p1 = ", p1)

//指定成员初始化,没有初始化的成员,自动赋值为0

p2 := &Student{name: "mike", addr: "bj"}

fmt.Printf("p2 type is %T\n", p2) //main函数结构体

fmt.Println("p2 = ", p2)

}

执行结果:

p1 = &{1 mike 109 18 bj}

p2 type is *main.Student

p2 = &{0 mike 0 0 bj}

go结构体初始化_go语言基础之结构体普通变量初始化相关推荐

  1. c语言结构体讲解,C语言基础之结构体讲解

    结构体 结构体是一种数据结构. int .float等是基本数据结构. 数组也是一种数据结构,但是数组存放的数据类型比较单一,结构体解决了数组里不能存放多种类型数据的这种缺陷. 1.结构体的声名 声名 ...

  2. C语言基础:结构和其他数据形式

    5# C语言基础:结构和其他数据形式 文章目录 Tips1:<img src="https://dl4.weshineapp.com/gif/20170410/5e0f6e9365be ...

  3. c语言 结构体ppt,C语言知识学习结构体.ppt

    C语言知识学习结构体.ppt Chap 9 结构,9.1 输出平均分最高的学生信息 9.2 学生成绩排序 9.3 修改学生成绩,本章要点,什么是结构结构与数组有什么差别 有几种结构的定义形式,它们之间 ...

  4. Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看

    Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看 视频地址如下: http://v.youku.com/v_show/id_XODA5NTM3NTAw.html

  5. c++ 结构体初始化_【干货】c语言基础语法——结构体

    1.关于C语言结构体的引入 学习环境搭建1_Linux C语言_嵌入式开发工程师-创客学院​www.makeru.com.cn 在实际问题中有时候我们需要几种数据类型一起来修饰某个变量. 例如一个学生 ...

  6. go结构体初始化_Go语言初始化结构体的成员变量

    结构体在实例化时可以直接对成员变量进行初始化,初始化有两种形式分别是以字段"键值对"形式和多个值的列表形式,键值对形式的初始化适合选择性填充字段较多的结构体,多个值的列表形式适合填 ...

  7. Go语言基础之结构体

    转载地址:https://www.liwenzhou.com/posts/Go/10_struct/ Go语言中没有"类"的概念,也不支持"类"的继承等面向对象 ...

  8. 10.Go语言基础之结构体

    Go语言中没有"类"的概念,也不支持"类"的继承等面向对象的概念.Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性. 类型别名和自定义类型 ...

  9. c语言把结构体首地址放入指针,C语言基础———指针,结构体指针,函数指针

    指针基础 一 指针就是地址,地址就是指针.指针存储的是内存的地址. 二 指针的定义 1.&表示取址运算符,&a 可以取到 a 在内存中的地址;打印地址的占位符为(%p),printf( ...

最新文章

  1. 在VS下用C语言连接SQLServer2008
  2. Android aidl 正确使用 callback的方式
  3. QEMU和KVM 中断处理过程
  4. AC66U-B1) 刷梅林固件教程
  5. Android焦点问题
  6. java实用教程——组件及事件处理——布局的一个小实例
  7. Modbus协议栈开发笔记之六:Modbus RTU Master开发
  8. webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
  9. 计算机硬盘坏道解决办法
  10. windows7/windows NT介绍
  11. 指针式万用表测量电容
  12. Java实现IP代理
  13. ddos攻击服务器的几种方式
  14. html 5与css 3权威指南 第2版 pdf,html5与css3权威指南
  15. pdf转换成jpg python_【PDF转图片】如何将PDF转换成图片格式--Python
  16. 【工具篇】Unity使用Spine2D动画,代码控制
  17. Win10打印机使用异常?windows系统如何删除更新补丁,驱动人生解决方案
  18. Gateway整合Nacos前端请求报错404 NOT_FOUNT
  19. Kaggle与机器学习流程
  20. 有哪些靠谱的服务器安全软件?

热门文章

  1. openresty的安装和使用
  2. BS结构中,web如何将数据进行DES加密并写道IC卡中
  3. 美团多渠道打包原理以及使用
  4. 搭建windows的solr6服务器
  5. super.getClass()与this.getClass()
  6. 电商3.0:构建互利共赢的生态圈
  7. [MySQL FAQ]系列 -- MySQL怎么有时候像是多进程,有时候却是多线程
  8. 热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分
  9. 微软8月补丁星期二值得关注的几个0day、几个严重漏洞及其它
  10. 多个蓝牙缺陷可使攻击者假冒合法设备