1
64Bitサーバーを使用しています。私のgolangプログラムには整数型が必要です。Golangでは、uint16 VS intはコストがかかりませんか?
だから、uint16とuint32型をソースコードで使用すると、最も一般的なint型を使用する以上のコストがかかりますか?
私は計算コストと開発コストの両方を考えています。
64Bitサーバーを使用しています。私のgolangプログラムには整数型が必要です。Golangでは、uint16 VS intはコストがかかりませんか?
だから、uint16とuint32型をソースコードで使用すると、最も一般的なint型を使用する以上のコストがかかりますか?
私は計算コストと開発コストの両方を考えています。
大部分のケースでは、int
を使用する方が意味があります。 は、ここではいくつかの理由です:
int
の代わりに符号なしの型を使用する場合は、の値を返すタイプのない定数式があるため、符号なしの型を気にしないライブラリやAPIがあるため、複数の型変換でコードを処理する必要があります。math.MinInt64
をuint
に変換することはできませんが、値math.MinInt64
のint
変数をuint
に簡単に変換できます。そして、間違いなく、if
にあなたが割り当てようとしている値があなたのプログラムにとって有効かどうかをチェックすることは悪いGoスタイルではありません。あなたが大量のメモリ圧力を経験しているし、あなたの値空間はどこか若干小さい符号付きの型はあなたを提供するであろうものの上にある場合を除き、私はint
を使用しているため、開発コストのも、場合にのみ、はるかに効率的になると思うだろう。 それでも、プログラムのメモリフットプリントのどこかに問題があるか、Goのような管理された言語がニーズに合っていない可能性があります。
「コスト」とはどういう意味ですか?あなたが何十億ものものを保管していて、何十億という操作をしていない限り、違いに気付くことさえ疑うでしょう。遭遇する可能性のある値をカバーする表現を使用してください。 – tadman
ソースコードの変数型を変換するための開発者ライティングラインも含まれます。 –
あなたが間違ったタイプを選んだときは、いつも変換しています。 – tadman