定义一个结构体类型
方法:type 结构体名 struct{}

//定义一个person类
type person struct{Name string Age int
}

结构体初始化操作

a := person{Name : "bai",Age : 19,
}

结构体比较方法

如果结构体的成员之间可以比较,那么结构体也是可以比较的,结构体可以使用==或者!=进行比较,不支持> <运算符的比较。

func main(){a:=person{"bai",19}b:=person{"zhao",20}fmt.Println("a == b",a == b)fmt.Println("a != b",a != b)
}


同类型的结构体之间可以进行赋值操作。

 a:=person{"bai",19}var temp persontemp = afmt.Println("a",a)fmt.Println("temp",temp)

结构体作为函数参数

  • 值传递:形参无法改变实参
func test1(p person){p.Name = "zhao"p.Age = 20fmt.Println(p)
}
func main(){a:=person{"bai",19}fmt.Println(a)test1(a)fmt.Println(a)
}


值传递无法改变实参

  • 地址传递
func test1(p *person){p.Name = "zhao"p.Age = 20fmt.Println(p)
}
func main(){a:=person{"bai",19}fmt.Println(a)test1(&a)fmt.Println(a)
}


在Go语言中并没有class,因此没有私有成员于共有成员之分,因此在Go语言中,讲私有于共有通过函数首字母大小写进行区分。

  • 大写字母表示,同一个包也可以访问到。
  • 小写字母表示,只能在该文件中进行使用。

Go语言---结构体相关推荐

  1. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据

    前言 本文的写作目的在于装逼,没有要产生实际价值的意思. 前几天在做编译器的项目,有一个项目团队成员一直在问我ARM汇编能不能读C语言的结构体.我心想,我这生成ARM汇编的代码是用C++写的呀,又不是 ...

  2. C语言结构体和结构体数组示例 - Win32窗口程序演示

    C语言结构体和结构体数组的使用: /* C结构体和结构体数组示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, ...

  3. C语言结构体-大小,对齐,填充,使用及其他

    C语言结构体-大小,对齐 C语言中的结构体(struct)的定义 在C语言中,最常用的数据结构就是结构体了,结构体也是其它数据结构(比如链表等)的基础,结构体的使用非常简单. 比如,定义一个结构体: ...

  4. 关于c语言结构体偏移的一点思考

    注:此处只是利用了编译器的特性来计算结构体偏移 这句话就一笔带过,说得有点牵强附会.以后有时间自己再详细了解一下编译器的特性... more exceptional c++ 中文版 26页 https ...

  5. C语言结构体指针的使用方法

    1.首先定义一个结构体,给它取别名: typedef struct node{ struct node * next://指向下一节点 int data://数据域 }pnode,*linklist; ...

  6. C语言结构体与联合体

    c语言结构体与联合体 结构类型定义和结构变量说明 一.结构的定义 二.结构类型变量的说明 结构变量的赋值 结构变量的初始化 结构数组 结构指针变量 其访问的一般形式为: (*结构指针变量).成员名 结 ...

  7. C语言结构体对齐的不足

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105065657 C ...

  8. C语言结构体占用内存总结

    C语言结构体占用内存总结 前几天有个小朋友问了我一下,关于C语言结构体占用空间的问题.觉得以后会对小可爱有点帮助,就打算先写一下. struct Test {int a;char b;int c; } ...

  9. 深入解析JNA—模拟C语言结构体

    原帖:http://blog.csdn.net/shendl/article/details/3599849 深入解析JNA-模拟C语言结构体 前言 前几天写<JNA--JNI终结者>一文 ...

  10. c语言结构体单元测试,C语言结构体单元练习.doc

    C语言结构体单元练习 1.有以下定义和语句: struct student { int age; int num; }; struct student stu[3]={{1001,20},{1002, ...

最新文章

  1. 通过 Mysql 官网配置更新本地的mysql源
  2. android - Animation详解
  3. JAVA面试整理之——JAVA基础
  4. 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
  5. cdn与服务器的关系_掐指算算: 你的CDN多花了几百万?
  6. Linux怎么更改声音板卡顺序,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  7. Java 并发编程之 volatile
  8. assert:python断言报错语句
  9. 如何批量去除视频水印教程
  10. DLP迈向NG DLP的进化之路
  11. 灵魂画师全都出来了,都怪昨天那个AI画猫的应用……
  12. 你为什么总是很忙碌,却还在原地踏步!
  13. 按规定顺序输出26个字母
  14. 安装北洋雷达驱动以及可能遇到的问题
  15. Android WebView监听console错误信息
  16. 极米RS Pro 2值得买吗?极米科技这款4K投影真实体验怎么样?
  17. uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文)
  18. 网络技术与应用概论(上)——“计算机网络”
  19. 计算机科普小知识,电脑小技巧知识科普
  20. 正一派道家奇门遁甲排盘算法python程序

热门文章

  1. java虚拟机之虚拟机类加载机制
  2. (1)H5实现音乐播放器【正在播放-歌词篇】
  3. 【Swift 4.0】扩展 WCDB 支持 SQL 语句
  4. 2017.11.24
  5. python并行任务之生产消费模式
  6. 甲骨文Java Archive
  7. linux系统mount命令挂载windows系统共享文件夹
  8. Oracle常用数据库操作SQL
  9. python的if循环语句_第二个是Python的循环语句,基础,使用,if,条件,判断,while,for
  10. Java程序设计语言基础02:Java中的基本数据类型和运算符