英文:
How to override func of an existing go package?
问题
我是你的中文翻译助手,以下是你要翻译的内容:
我刚开始学习Go语言,对它还不太了解。我想在Go语言中的一个现有包"log4go"中,每次调用log4go.Error("An error")时都重写一个函数。怎样才是最好的方法呢?如果我想增强一个现有的方法,还有其他的方式吗?如果这是一个基础问题,请谅解。
英文:
I am new to go and cannot really put my head around it.
I want to override a func in an existing package in go "log4go" on every log4go.Error("An error") call. What is the best way to do it? If I want to enhance an existing method, what else could be the way? Please bear if its a basic question.
答案1
得分: 7
你根本无法做到这一点。在做不可能的事情上没有所谓的“最佳方式”。
你只能选择以下几种替代方案:
- 分叉 log4go 并进行修补。
- 不使用
log4go.Error
,而是使用你自己的包装器myError
,它包装了 log4go 的 Error 函数。 - 重新设计或寻找其他日志记录包。
英文:
You simply cannot do this. There is no "best way" to do something impossible.
All you have are alternatives:
- Fork log4go and patch it.
- Do not use
log4go.Error
but your own wrappermyError
which wraps around log4go's Error function. - Redesign or look for a different logging package.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论