示例
zap.Option
接口定义
type Option interface {
apply(*Logger)
}
函数接口实现
type optionFunc func(*Logger)
func (f optionFunc) apply(log *Logger) {
f(log)
}
Option 方法实现
func Hooks(hooks ...func(zapcore.Entry) error) Option {
return optionFunc(func(log *Logger) { // 返回 Option 接口
log.core = zapcore.RegisterHooks(log.core, hooks...)
})
}