一、指针
除了Go的空指针是nil外,指针与C的指针基本相同,在此略过
二、结构体
- 语法结构:
type <structName> struct {
<variableName> <type>
...
}
- 使用方法:
- 初始化:
= <structName>{[[variableName] : <value>] , ...}不赋值的变量会初始化为默认值 - 赋值:
<structVariable>.<variableName> = - 使用在函数参数里:是值传递,引用传递使用
func test(x *Vertex)这种形式 - 结构体变量的地址使用fmt.Println打印出来会是本身结构体打印出来的结构前面加个'&',像这样
&{3 3} - 结构体指针使用:假设有结构体指针p指向某个结构体类型变量,则可以使用
p.<variableName>这种简写方式代替原本的(*p).<variableName>
- 初始化:
- 例子:
package main
import "fmt"
type Vertex struct {
X int
Y int
}
func main() {
x := Vertex{Y : 3}
fmt.Println(x)
test2(x)
fmt.Println(x)
test(&x)
fmt.Println(x)
}
func test(x *Vertex){
x.X = 3
fmt.Println(x)
}
func test2(x Vertex){
x.X = 2
}
//output
{0 3}
{0 3}
&{3 3}
{3 3}










网友评论