摘要
本文介绍了go语言中结构体和指针部分的内容,同时介绍了数组指针和结构体指针的隐式转换、数组指针和指针数组等问题。
1、结构体的声明与使用
声明
go中的结构体和C语言中的结构体作用基本一致,但在定义和使用上有所不同。go语言结构体的类型关键字是struct,按照go语言声明关键字 变量名称 类型关键字的声明规则,其定义方式应该是:
var Vertex struct{
...
}
但是,结构体本身不是变量值,而是一种类型,go中的类型声明关键字使用的是type,声明语法如下:
type Vertex struct{
...
}
结构体使用
结构体是一种类型,根据创建的结构体可以实例化变量,通常的实例有以下几种:
type Vertex struct{
X int
Y float64
Z [5]int
}
//1、按顺序赋值
v := Vertex{1, 2.2, [5]int{1,2,3,4,5}}
//2、通过字段名称赋值 ,没赋的直接赋零值
v := Vertex{Y: 2.2, X: 1, Z: [5]int{1,2,3,4,5}}
//3、直接赋零值
v := Vertex{}
结构体字段的访问与C一致,使用点号进行访问。
2、指针
声明与使用
golang中的指针与C基本一致&#x