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)
}
上一篇:【DEM Window环境安装部署】


下一篇:sql语句日期模糊查询