【发布时间】:2014-10-19 22:51:19
【问题描述】:
这两个结构除了不被视为等效之外,还有什么区别?
package main
func main() {}
func f1(s struct{a int;b int}) { f2(s) }
func f2(s struct{b int;a int}) {}
$ go run a.go
# command-line-arguments
./a.go:3: cannot use s (type struct { a int; b int }) as type struct { b int; a int } in argument to f2
注意:这个确实编译:
package main
func main() {}
func f1(s struct{a int;b int}) { f2(s) }
func f2(s struct{a int;b int}) {}
【问题讨论】: