如何在Go中检查功能的识别?
假设有些代码如下:
myCallback := func() { /* Do something */ }
someObject.Callback = myCallback;
// Then sometime later..
/* Has my callback been changed? */
if someObject.Callback != myCallback {
log.Fatal("Someone changed my callback and didn't ask my permission!\n")
}
当然,这个特定的代码并不起作用。它抱怨func can only be compared to nil
。
那么还有另一种方法来进行函数比较,看看两个函数(或函数引用 - 是否是Go中的东西?)是相同的?