我正在编写一个简单的库来辅助常见的断言。
type Test interface {
Fatalf(string, ...interface{})
}
func IsTrue(statement bool, message string, test Test) {
if !statement {
test.Fatalf(message)
}
}
我注意到log
包实际上有一个兼容的Fatalf(string, ...interface{})
实现,如果能相应地调用IsTrue
方法就太好了:
IsTrue(false, "false wasn't true", log)
但我遇到了错误使用了不在选择器中的log包
。有没有办法使用或包装一个包来使这个模式工作,或者这不可能?