码迷,mamicode.com
首页 > 编程语言 > 详细

Go语言结构体和方法

时间:2019-09-02 19:42:21      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:标识   ext   没有   code   var   表头   field   highlight   mic   

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语言结构体和方法

标签:标识   ext   没有   code   var   表头   field   highlight   mic   

原文地址:https://www.cnblogs.com/weidaijie/p/11447961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!