内置log
且不log.Logger
提供Error
或Warning
类似Python
.
Logger
所以我想用下面的代码为内置类型写一个:
func (l *Logger) Error(v interface{}) {
info := fmt.Sprintf("ERROR: %v", v)
l.Println(info)
}
我将上面的代码morelog.go
放在GOPATH/src/log
.
在main.go
我写道:
logger := log.New(os.Stdout, "Test", 1)
logger.Error("Error in main.")
当我运行时go build
,我得到:
./main.go:124: logger.Error undefined (type *log.Logger has no field or method Error)
我知道我可以通过定义一个新类型并在该类型上定义方法来实现类似的目标。但我认为如果我可以将方法直接添加到内置类型中会更好。