亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

類型轉換和類型斷言有什么區別?

類型轉換和類型斷言有什么區別?

Go
蠱毒傳說 2021-07-09 17:15:11
之間的主要區別是什么:v = t.(aType) // type assertionv = aType(t) // type conversion我應該在哪里使用類型斷言或類型轉換?
查看完整描述

1 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

類型斷言斷言t(接口類型)實際上是 aaType并且t將是aType; 即包裹在t接口中的那個。例如,如果你知道你var reader io.Reader實際上是一個*bytes.Buffer你可以做的var br *bytes.Buffer = reader.(*bytes.Buffer)。

類型轉換將一種(非接口)類型轉換為另一種類型,例如 a var x uint8to 和 int64 like var id int64 = int64(x)

經驗法則:如果您必須將具體類型包裝到接口中并希望恢復具體類型,請使用類型斷言(或類型切換)。如果您需要將一種具體類型轉換為另一種,請使用類型轉換。


查看完整回答
反對 回復 2021-07-12
  • 1 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號