《Go程序设计语言》__第6章__方法

6.1 方法声明

方法的声明和普通函数的声明类似,只是在函数名前多了一个参数。这个参数把方法绑定到这个参数对应的类型上。

import "math"
type Point struct {x, y float64}

//普通函数
func Distance(p, q Point) {
    return math.HyPot(q.x - p.x, q.y - p.y)
}

//Point类型的方法
//p是方法的接收者,主调函数或方法,通过Distance方法,将消息q发送给p
//通常方法的接收者用类型的首字母
func (p Point) Distance(q Point) float64 {
    return math.HyPot(q.x - p.x, q.y - p.y)
}

//函数调用
dis := Distance(p, q)
//方法调用
dis2 := p.Distance(q)

可以将方法绑定到任何类型上,从而让类型有了行为。

6.2 指针接收者的方法

如果某个类型有一个方法使用了指针接收者,那么所有方法都应该使用指针接收者,即使有些方法并不一定需要。

 

6.3 通过结构体内嵌组成类型

6.4 方法变量与表达式

6.5 封装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值