golang 斷言 + 型別轉換
阿新 • • 發佈:2019-02-02
轉自部落格園http://my.oschina.net/u/157514/blog/148285
我的記憶方法:轉換後的結果,是否成功 := 物件屬性.(要轉換或斷言的型別),這個公式“是否成功”可選golang 語言中 也有類似javascript 的 typeof 判斷型別的 方法 比如 func (a interface{}){ //第一種 if inst,ok:=a.(TypeA);ok{ inst.MethodA() } //第二種 switch inst:=a.(type){ case TypeA: inst.MethodA() default: fmt.Println("unknow") } } a可能是任意型別 a.(某個型別) 返回兩個值 inst 和 ok ,ok代表是否是這個型別,Ok如果是 inst 就是轉換後的 型別 a.(type) type是關鍵字 結合switch case使用 TypeA(a) 是強制轉換