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
}

每个节点包含下一个节点的地址,这样把所有的节点串起来了,通常把 链表中的第一个节点叫做链表头

  

  

  

  

猜你喜欢

转载自www.cnblogs.com/weidaijie/p/11447961.html