接口应用-可扩展输出方式的日志系统
利用接口实现一个可扩展的日志系统: 1、日志对外接口: 本例中定义一个日志写入的接口(LogerWriter),要求写入设备必须遵守这个接口协议(实现这个接口)才能被日志器(Logger)注册。日志器有ResgisterWriter()和Log()两个方法,ResgisterWrit……
记录个人学习空间
go语言的接口设计是非侵入式的,接口的编写者无需知道接口被那些类型实现。而接口实现者只需要知道实现的是什么样子的接口,但无须指明实现哪一个接口。不像其他语言需要用implement来指出实现了哪个接口。有几个需要注意的地方:
一种的事物的多种形态,都可以按照统一的接口进行操作。
理解:比如go语言sort包中提供了一个排序的Sort接口,它可以对整数,浮点数,字符串等进行排序,只要实现接口中定义的下面三个方法,就可以调用Sort方法进行排序,不用每一种类型都去定义一种实现的方法。
我们从go网站上面可以查到Sort方法是这样:func Sort(data Interface)
|
|