首頁  >  文章  >  後端開發  >  如何在 Go 中有效地將數位切片轉換為不同類型?

如何在 Go 中有效地將數位切片轉換為不同類型?

Linda Hamilton
Linda Hamilton原創
2024-11-23 10:42:10337瀏覽

How to Efficiently Convert a Numeric Slice to a Different Type in Go?

將數字切片轉換為不同類型

在Go 中,將一種數字類型的切片轉換為另一種類型是一項常見任務。但是,如果您正在尋找一種快速有效的方法,那麼預設的迭代方法是最有效的。

遍歷切片的元素並明確轉換每個元素是最直接的方法。而不是:

output[i] = float64(data[i])

為了獲得最佳效率,請使用範圍循環並避免為邊界檢查索引切片。建議的方法如下:

func convertTo64(ar []float32) []float64 {
   newar := make([]float64, len(ar))
   var v float32
   var i int
   for i, v = range ar {
      newar[i] = float64(v)
   }
   return newar
}

請注意,在 Go 中,在範圍循環中使用 := 效率很低,因為變數會被重複建立而不是被重複使用。使用 range 而不是傳統的 for 迴圈也可以節省邊界檢查。

以上是如何在 Go 中有效地將數位切片轉換為不同類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn