定义结构体

struct

创建结构体

type Color struct{
	R,G,B int
}

实例化结构体——为结构体分配内存并初始化

实例化就是根据结构体定义的格式创建一份与格式一致的内存区域,结构体实例与实例间的内存是完全独立的。

基本实例化格式

var c Color
c.R = 255

d := Color{255,255,2255}

创建指针类型的结构体

Go语言中,还可以使用new关键字对类型(包括结构体、整型、浮点数、字符串等)进行实例化,结构体在实例化后会形成指针类型的结构体。

c := new(Color)
fmt.Println(c)  //&{0 0 0}

在Go语言中,访问结构体指针的成员变量时可以继续使用“.”。这是因为Go语言为了方便开发者访问结构体指针的成员变量,使用了语法糖(Syntacticsugar)技术,将ins.Name形式转换为(*ins).Name。

取结构体的地址实例化

在Go语言中,对结构体进行“&”取地址操作时,视为对该类型进行一次new的实例化操作。

最后更新于