当我运行下面的代码片段时,它会引发错误
a.test undefined (type interface {} 是没有方法的接口)
看来类型切换没有生效。
package main
import (
"fmt"
)
type A struct {
a int
}
func(this *A) test(){
fmt.Println(this)
}
type B struct {
A
}
func main() {
var foo interface{}
foo = A{}
switch a := foo.(type){
case B, A:
a.test()
}
}
如果我将其更改为
switch a := foo.(type){
case A:
a.test()
}
现在好了。