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

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

Linda Hamilton
發布: 2024-11-23 10:42:10
原創
384 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板