接口与方法
方法
Go 语言中定义方法的语法为:
func (接收器名 接收器类型) 方法名(参数列表) {
//方法体,可以访问接收器名
}
方法其实就是一个函数,在 func 这个关键字和方法名中间加入了一个特殊的接收器类型。
接收器类型可以是结构体类型或者是非结构体的自定义类型。
接收器名可以在方法的内部进行访问。
type str string
func (s str) getStrLen() int {
return len(s)
}
func main() {
var myStr str = "hello"
strLen := myStr.getStrLen()
fmt.Print("strLen is:",strLen)
}
Go 语言中不能在基础数据类型(比如 int 或 string)上直接定义方法,而只能在自定义的类型或者结构体上定义方法;类型的别名也不能定义方法,如“type myStr = string”中的 myStr 也是不可以为它定义方法。