文章目录
前言
前面介绍过一些简单的数据类型:布尔、数字类型、整型、浮点型、字符串类型这些类型都较为简单,在实际需求中可能不仅仅是这些类型,比如说:将一个人抽象到程序内,需要有的string属性是id、name…,需要是int类型的有age…,将不同的类型数据集于一身,就产生了结构体类型。
一、结构体类型是什么?
该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体内的属性变量使用方法与普通变量一样。
二、结构体变量怎么使用
1.定义结构体
代码如下(示例一个普通的结构体变量):
type man struct { id string name string age int }
代码如下(示例一个嵌套结构体变量):
//该类结构体可用于创建链表、树、图等复杂数据结构(通过改变指针域的数量) type man struct { id string name string age int next *man }
2.使用结构体
①使用结构体变量
代码如下(示例):
//直接初始化 // 第一种初始化方式 user := man{"2015105591", "小明", 18} fmt.Println(user) // 第二种初始化方式 user1 := man{id: "888", name: "小铝", age: 20} fmt.Println(user1)
②使用结构体指针(操作链表)
代码如下(示例):
// 使用结构体创建一个简单的链表 var head *node //给这个指针开辟空间 head = new(node) //给下一节点开辟空间 head.next = new(node) //给第二个节点数据域赋值 head.next.age = 10 head.next.name="xiaoM" head.next.id="888" //尾节点指针域赋空 head.next.next = nil // 遍历那个简单的链表 for p := head; p.next != nil; p = p.next { fmt.Println(p.next.age) }
总结
Go语言结构体与其他语言的结构体很类似,使用操作方法也一样,本篇简单的带领大家领略一下go语言的结构体风采。