我不明白如何go比较匿名结构。我试图理解这段代码:
package main
import (
"fmt"
)
type foo struct {
bar string
}
func main() {
var x struct {
bar string
}
var y foo
fmt.Println(x == y) // this prints true
equals(x, y) // this prints false
}
func equals(a, b interface{}) {
fmt.Println(a == b)
}
为什么会x == y产生收益true?它们具有不同的类型,因此我希望它们无法进行比较。
而且,既然它们是平等的,为什么将它们强制转换为interface{}使它们不平等?
眼眸繁星
繁星coding
相关分类