面试题答案
一键面试package main
import "fmt"
// 定义Printer接口
type Printer interface {
Print()
}
// 定义接受不定数量实现了Printer接口对象的函数
func printAll(printers ...Printer) {
for _, printer := range printers {
printer.Print()
}
}
在这种场景下不定参数函数设计的要点:
- 参数类型一致性:所有传入的参数必须是实现了
Printer
接口的类型,确保函数在遍历调用Print()
方法时不会出现类型不匹配问题。 - 遍历处理:使用循环(如
for
循环)对不定参数进行遍历,以便依次调用每个参数的Print()
方法。 - 灵活性:不定参数函数提供了灵活的调用方式,可以传入任意数量实现了
Printer
接口的对象,提高了函数的通用性。