Golang 使用方法集与接口
package main
import (
"fmt"
)
// 定义一个接口,包含一个方法
type Printer interface {
Print()
}
// 定义一个结构体,实现Printer接口的Print方法
type StringPrinter struct {
value string
}
// Print方法的实现
func (sp StringPrinter) Print() {
fmt.Println(sp.value)
}
// 定义一个方法集,包含多个接受Printer类型参数的函数
func PrintWithPrefix(p Printer, prefix string) {
fmt.Print(prefix)
p.Print()
}
func main() {
sp := StringPrinter{value: "Hello, World!"}
PrintWithPrefix(sp, "Greeting: ") // 输出 "Greeting: Hello, World!"
}
这段代码定义了一个Printer
接口和一个实现了该接口的StringPrinter
结构体。还定义了一个方法集PrintWithPrefix
,它接受一个Printer
类型的参数和一个前缀字符串,并使用该参数的Print
方法打印出数据。在main
函数中,我们创建了一个StringPrinter
实例,并使用PrintWithPrefix
函数打印出带有前缀的字符串。这演示了如何在Go语言中使用接口和方法集来封装和复用功能。
评论已关闭