golang介面的這個用法,我到還真是百思不得其解,望解惑

ddxx11223發表於2017-10-12
type I interface{}

type II interface{
    f1()
}

func g2(a II)  {
    fmt.Println("xxx")
}

func h3(b I)  {
    g2(b.(II))
}

type Message struct {
    Name string `json:"msg_name"`
}

func (*Message) f1()  {
}

func main(){
    var m = Message{
        Name: "Alice",
    }
h3(&m)
}

h3 函式中的g2(b.(II))這到底是個什麼用法?介面強制轉換?不像啊,我知道b其實是從I介面動態轉過來的*Message型別,那這個b.(II)算啥意思?

更多原創文章乾貨分享,請關注公眾號
  • golang介面的這個用法,我到還真是百思不得其解,望解惑
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章