Go语言结构体和方法
Posted weidaijie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言结构体和方法相关的知识,希望对你有一定的参考价值。
struct的使用:
1. 用来自定义复杂数据结构
2. struct里面可以包含多个字段(属性)
3. struct类型可以定义方法,注意和函数的区分
4. struct类型是值类型
5. struct类型可以嵌套
6. Go语言没有class类型,只有struct类型
struct声明:
type 标识符 struct field1 type field2 type 例如: type Student struct Name string Age int Score int
struct 中字段访问:和其他语言一样,使用点
var stu Student stu.Name = “tony” stu.Age = 18 stu.Score=20 fmt.Printf(“name=%s age=%d score=%d”, stu.Name, stu.Age, stu.Score)
struct定义的三种形式:
var stu Student var stu *Student = new (Student) var stu *Student = &Student
其中b和c返回的都是指向结构体的指针,访问形式如下
stu.Name、stu.Age和stu.Score或者 (*stu).Name、(*stu).Age等
struct的内存布局:struct中的所有字段在内存是连续的,布局如下:
struct链表:
链表定义:
type Student struct Name string Next *Student
每个节点包含下一个节点的地址,这样把所有的节点串起来了,通常把 链表中的第一个节点叫做链表头
以上是关于Go语言结构体和方法的主要内容,如果未能解决你的问题,请参考以下文章