go语言学习之struct初认识
来源:互联网 发布:怎样做seo 编辑:程序博客网 时间:2024/06/05 16:13
struct是一种由零个或者多个不同的数据类型的聚合一起的数据类型。结构体可以作函数参数、返回值、map中的key,数组中的值,等等。
因此:struct需要用type关键字声明。
type Employee struct { ID int Name string Address string DoB time.Time Position string ManagerID int}
上面声明了一个叫Employee的结构体数据类型。如果要使用这个结构体类型还需要用一个变量或者指针。如
var dilbert Employee
亦或:
var dilbert *Employee = &dilbert
结构体可以通过点操作符来访问成员。
学习过程中,需要注意的有以下几点:
1、 一个命名为S的结构体类型不能再包含S类型的成员:因为一个聚合的值不能包含它自身。(该限制同样适应于数组。)但是S类型的结构体可以包含*S指针类型的成员,这可以让我们创建递归的数据结构,比如链表和树结构等。
//以下是整型数值二叉树结构体type tree struct { value int left,right *tree}
2、 如果结构体没有任何成员的话就是空结构体,写作struct{}。它的大小为0,也不包含任何信息,但是有时候依然是有价值的。
3、struct也是可比较的。如果结构体的全部成员都是可以比较的,那么结构体也是可以比较的,那样的话两个结构体将可以使用==或!=运算符进行比较。
type Point struct{ X, Y int }p := Point{1, 2}q := Point{2, 1}fmt.Println(p.X == q.X && p.Y == q.Y) // "false"fmt.Println(p == q) // "false"
因此,可比较的结构体可做为map中的key
阅读全文
0 0
- go语言学习之struct初认识
- Go语言学习之struct(The way to go)
- Go语言学习笔记 --- struct
- Go语言学习四:struct类型
- Go语言之slices初认识(一)
- go语言struct
- Go语言基础:struct
- go语言的认识
- Go语言学习笔记4——struct
- Go语言核心之美 3.4-Struct结构体
- Go语言学习之数据类型
- GO语言学习之goroutine
- Go语言中struct Tag
- go语言的struct类型
- Go语言学习笔记1——认识
- Go语言学习之语言特性
- C语言学习之结构体struct
- GO系列之struct类型
- 使用Qt中的工作线程,模拟上传文件(需要用到定时器,线程知识)
- 理解JVM(6)Class装载系统
- 如何在vue-cli使用bootstrap框架
- 算法习题_快速排序的非递归解法
- DataSet和DataReader两者读取数据时有什么区别?
- go语言学习之struct初认识
- k-modes聚类算法介绍
- shell编程自我总结
- springmvc的ModelAttribute注解
- 安卓笔记(1)文字超链接
- 校招准备系列:每天一道算法题(10)-二维数组查找
- C语言程序的基本结构--HelloWrold篇
- C++ STL之deque解析(1)---《C++ STL》
- 【bzoj1965】【AHOI2005】洗牌