其他分享
首页 > 其他分享> > golang设计模式(一)访问者模式

golang设计模式(一)访问者模式

作者:互联网

visitor模式

//先定义一个需要访问的数据结构
type Info struct {
	Namespace string
	Name string
	OtherThings string
}

type VisitorFunc func(*Info,error)error

//将访问数据的方法抽象为接口
type Visitor interface{
	Visit(visitorFunc VisitorFunc)error
}
//info实现这个接口
func (i *Info) Visit(visitorFunc VisitorFunc)error  {
	return visitorFunc(i,nil)
}
func main(){
	info := Info{"kube-system","Pod","config"}
	visit := func(info *Info,err error) error {
		fmt.Printf("%s,%s,%s\n", info.Namespace, info.Name, info.OtherThings)
		return nil
	}
	info.Visit(visit)
}

标签:info,Info,string,golang,func,error,设计模式,type,访问者
来源: https://www.cnblogs.com/1token/p/15933320.html