Golang 接口嵌套接口
在Golang中,接口可以嵌套在另一个接口中。这允许你创建一个新接口,其中包含另一个接口的所有方法,并且还可以添加新的方法。这种嵌套接口的方式可以增强代码的可读性和可维护性。
下面是一个简单的例子:
package main
import (
"fmt"
)
// 定义第一个接口
type Printer interface {
Print()
}
// 定义第二个接口
type Scanner interface {
Scan()
}
// 第二个接口嵌套第一个接口
type Reader interface {
Printer
Scanner
Read()
}
type MyReader struct{}
func (r MyReader) Print() {
fmt.Println("Printing...")
}
func (r MyReader) Scan() {
fmt.Println("Scanning...")
}
func (r MyReader) Read() {
fmt.Println("Reading...")
}
func main() {
reader := MyReader{}
var r Reader = reader
r.Print()
r.Scan()
r.Read()
}
在这个例子中,MyReader
结构体实现了 Reader
接口,Reader
接口同时嵌套了 Printer
和 Scanner
接口。这意味着任何实现了 Reader
接口的类型都必须实现 Printer
、Scanner
和 Read
这三个方法。这种方式使得代码更加清晰,易于理解和维护。
评论已关闭