接口是否仅由 Go 中的结构数据类型实现?

我是 Go 的新手,正在研究接口及其实现。我遇到的所有示例都用于struct{}实现任何接口。是否可以使用任何基本类型?



慕姐4208626
浏览 92回答 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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go