数値スライスを別の型に変換する
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 では変数が再利用されずに繰り返し作成されるため、範囲ループで := を使用すると効率が悪いことに注意してください。従来の for ループの代わりに range を使用すると、境界チェックも節約できます。
以上がGo で数値スライスを別の型に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。