go 类型断言_(57)接口的类型断言
生活随笔
收集整理的這篇文章主要介紹了
go 类型断言_(57)接口的类型断言
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GO提供了一個方法,用來判斷接口的底層值是什么類型
類型斷言 提供了訪問接口值底層具體值的方式。
t := i.(T)該語句斷言接口值 i 保存了具體類型 T,并將其底層類型為 T 的值賦予變量 t。
若 i 并未保存 T 類型的值,該語句就會觸發一個panic。
為了 判斷 一個接口值是否保存了一個特定的類型,類型斷言可返回兩個值:其底層值以及一個報告斷言是否成功的布爾值。
t, ok := i.(T)若 i 保存了一個 T,那么 t 將會是其底層值,而 ok 為 true。
否則,ok 將為 false 而 t 將為 T 類型的零值,程序并不會產生panic。
請注意這種語法和讀取一個Map時的相同之處。
代碼:
package mainimport "fmt"func main() {var i interface{} = "hello"s := i.(string)fmt.Println(s)s, ok := i.(string)fmt.Println(s, ok)f, ok := i.(float64)fmt.Println(f, ok)f = i.(float64) // panicfmt.Println(f) }總結
以上是生活随笔為你收集整理的go 类型断言_(57)接口的类型断言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle between and m
- 下一篇: win7录屏_这款高清免费无水印的录屏软