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

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

如何在 Go 中顯式轉換類型?

如何在 Go 中顯式轉換類型?

Go
互換的青春 2022-09-05 10:59:41
我有一個靜態聲明的變量var fun *ast.FunDecl和一個名為 tyle 的數組,該數組保存不同類型的項和 .declast.Declast.GenDecl*ast.FunDecl現在,在運行時,我想循環訪問數組,并將第一個出現的項指定給我的變量。*ast.FunDeclfun在我的數組迭代中,當前數組元素在哪里,我正在使用:dswitch t := d.(type){    case *ast.FunDecl:    {        fun = d // cannot use d (variable of type ast.Decl) as *ast.FuncDecl value in assignment    }    // more type cases ...}另外,嘗試使用顯式強制轉換fun = *ast.FunDecl(d)恐慌說:無法轉換 d(ast 類型的變量。Decl) to ast.功能描述。除了解決這種特殊情況之外,這還把我帶到了一個普遍的問題,如何處理這樣的類型轉換情況?如果我知道變量的類型與我的強制轉換匹配,如何將其強制轉換為特定類型?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

您需要分配類型轉換值 t 而不是 d


switch t := d.(type){

    case *ast.FunDecl:

    {

        fun = t

    }

}


查看完整回答
反對 回復 2022-09-05
  • 1 回答
  • 0 關注
  • 77 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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