go的坑,为何结构体的成员函数,其指针和结构体都能直接访问?
go吧
全部回复
仅看楼主
level 1
jander 楼主
package main
import "fmt"
type Point struct{
x, y int
}
func (p *Point) Draw(){
fmt.Printf("Draw at %d, %d\n", p.x, p.y)
}
// 为何结构体和结构体指针都可以访问Draw,
// 按代码定义,只能指针访问吧,如何理解?
func main() {
//结构体 Point
p := Point{x:5, y:7}
p.Draw()
//结构体指针 *Point
q := new(Point)
q.x = 3
q.y = 4
q.Draw()
}
2014年05月05日 23点05分 1
level 5
和对象以及指针都可以点取成员的道理差不多,伪和谐
2014年06月25日 08点06分 3
1