1 回答
TA贡献1846条经验 获得超7个赞
Go 编程语言规范
方法声明
方法是具有接收者的函数。方法声明将标识符、方法名称绑定到方法,并将该方法与接收者的基类型相关联。
接收器是通过方法名称之前的额外参数部分指定的。该参数部分必须声明一个非可变参数,即接收器。它的类型必须是 T 或 *T(可能使用括号)的形式,其中 T 是类型名称。T所表示的类型称为接收者基类型;它不能是指针或接口类型,并且必须在与方法相同的包中定义。该方法被称为绑定到基类型,并且方法名称仅在类型 T 或 *T 的选择器中可见。
不可以。它可以是指针或接口类型以外的任何类型。
例如,用作string
基础类型,
package main
import (
"fmt"
"strings"
)
type Caser interface {
Upper() string
Lower() string
}
type Str string
func (s Str) Upper() string {
return strings.ToUpper(string(s))
}
func (s Str) Lower() string {
return strings.ToLower(string(s))
}
func main() {
str := Str("Forty-Two")
fmt.Println(str)
up := str.Upper()
fmt.Println(up)
lo := str.Lower()
fmt.Println(lo)
}
游乐场: https: //play.golang.org/p/9RDRTftqWot
输出:
Forty-Two
FORTY-TWO
forty-two
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报