猿问
接口是否仅由 Go 中的结构数据类型实现?
我是 Go 的新手,正在研究接口及其实现。我遇到的所有示例都用于
struct{}
实现任何接口。是否可以使用任何基本类型?
慕姐4208626
浏览 93
回答 1
1回答
喵喵时光机
Go 编程语言规范方法声明方法是具有接收者的函数。方法声明将标识符、方法名称绑定到方法,并将该方法与接收者的基类型相关联。接收器是通过方法名称之前的额外参数部分指定的。该参数部分必须声明一个非可变参数,即接收器。它的类型必须是 T 或 *T(可能使用括号)的形式,其中 T 是类型名称。T所表示的类型称为接收者基类型;它不能是指针或接口类型,并且必须在与方法相同的包中定义。该方法被称为绑定到基类型,并且方法名称仅在类型 T 或 *T 的选择器中可见。不可以。它可以是指针或接口类型以外的任何类型。例如,用作string基础类型,package mainimport ( "fmt" "strings")type Caser interface { Upper() string Lower() string}type Str stringfunc (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-TwoFORTY-TWOforty-two
0
0
0
随时随地看视频
慕课网APP
相关分类
Go
我要回答