您的位置:首页 > 编程语言 > Go语言

Go语言的指针的一些测试

2017-07-03 16:56 399 查看
参考URL:
http://ilovers.sinaapp.com/drupal/node/33
1). 指针在 c 中是个重要的东西,& 和 * 一个取地址、一个解析地址,这是 c 的用法,go 中貌似也是这样,but !

2). go 中的指针是个“透明”的东西,也就是偶们可以不通过 * 访问,而是直接访问,比如可以不是 (*q).Y = 20 而是 q.Y = 20,有些伤天害理的赶脚!

3). 结构体,结构体指针,结构体指针的指针,结构体指针的指针的指针;

4). 再说明一下:要访问指针 p 指向的结构体中某个元素 x,不需要显式地使用 * 运算,可以直接 p.x ;

package main

import (
"fmt"
)

type Vertex struct {
X, Y int
}

var (
p = Vertex{1, 2}
q = &Vertex{1, 2}
r = Vertex{X: 1}
s = Vertex{}
)

func main() {
/*
p := Vertex{1, 2}
q := &p
q.X = 10
(*q).Y = 20
r := &q
s := &r
(**s).Y = 30

fmt.Println(p, q, r, s, *q, *r, *s, **r, **s, ***s)
*/
fmt.Println(p, q, r, s)
v := new(Vertex)
fmt.Println(v)
v.X, v.Y = 11, 9
fmt.Println(v)
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: