第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何將接口數(shù)組轉(zhuǎn)換為浮點數(shù)

如何將接口數(shù)組轉(zhuǎn)換為浮點數(shù)

Go
拉風(fēng)的咖菲貓 2022-01-10 11:03:21
bound :=  []interface{}{1.00, 1.00, 1.00, 1.00}new_bound := bound.([]float32)log.Println(new_bound)如何將接口數(shù)組轉(zhuǎn)換為浮點數(shù)組?無效類型斷言:bound.([]float32) (左側(cè)的非接口類型 []interface {})在實際項目中恐慌:接口轉(zhuǎn)換:接口是 []interface {},而不是 []float32
查看完整描述

2 回答

?
守著星空守著你

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊

在您的示例中,您有一個切片,其中包含的每個項目都是一個,interface{}而不是一個interface{}代表 a的單個項目[]float32,因此您不能像這樣簡單地轉(zhuǎn)換整個集合。相反,您必須對其進(jìn)行迭代并對集合中的每個項目進(jìn)行類型斷言。這是一個例子;https://play.golang.org/p/dD4161xgaV


bound :=  []interface{}{1.00, 1.00, 1.00, 1.00}

new_bound := []float64{}

for _, v := range bound {

     new_bound = append(new_bound, v.(float64))

}

需要注意的另一件事是,這些文字隱含了它們的類型,float64因此您在這里實際上需要它。


編輯:包括 OneOfOne 發(fā)布的這個更優(yōu)化的解決方案;


func main() {

    bound := []interface{}{1.00, 1.10, 1.11, 1.111}

    new_bound := make([]float64, len(bound))

    for i := range bound {

        new_bound[i] = bound[i].(float64)

    }

    fmt.Println(new_bound)


}


查看完整回答
反對 回復(fù) 2022-01-10
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊

您將需要遍歷切片并將每個項目附加到新切片。為了將它附加到您的 []float32,您需要鍵入 assert:


bound := []interface{}{1.00, 1.00, 1.00, 1.00}

new_bound := make([]float32, 0, len(bound))

for _, v := range bound {

    new_bound = append(new_bound, v.(float32))

}

GoPlay 在這里:https : //play.golang.org/p/S8-4KJkqPq


查看完整回答
反對 回復(fù) 2022-01-10
  • 2 回答
  • 0 關(guān)注
  • 214 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號