-2
包裝類型()中究竟做了什麼,我應該什麼時候使用它?例如。 blah.(*int)
什麼是封裝()中的類型,我應該在什麼時候使用它? Golang
包裝類型()中究竟做了什麼,我應該什麼時候使用它?例如。 blah.(*int)
什麼是封裝()中的類型,我應該在什麼時候使用它? Golang
這是一個type assertion。類型斷言用於提取接口類型中的值作爲其他類型。
表達式blah.(*int)
聲稱blah
中的值的類型爲*int
。如果斷言成立,則表達式的值是作爲*int
存儲在blah
中的值。如果斷言不成立,那麼表達式恐慌。
類型斷言的特殊形式可在分配被用來測試斷言:
ip, ok := blah.(*int)
如果嗒嗒的值是*int
,則該值被存儲在ip
和ok
被設定爲真正。否則,ip
設置爲零值,並且ok
爲假。
除非您[閱讀文檔](https://golang.org/ref/spec#Type_assertions),否則不應使用任何語法。說真的,在提出基本的語法問題之前,閱讀規範並參加[Go Tour](https://tour.golang.org)。 [Go標籤](http://stackoverflow.com/tags/go/info)也有許多其他資源的列表。 –