20

go が数値型の自動キャストをサポートしているかどうか教えてください。現在、すべての計算の結果を手動で int または int64 に変換し、使用している数値型を追跡する必要があります。

4

3 に答える 3

14

Go は自動的に数値型を変換しません。

言語仕様から:

式または割り当てに異なる数値型が混在している場合は、変換が必要です。たとえば、int32 と int は、特定のアーキテクチャで同じサイズであっても、同じ型ではありません。

于 2012-12-13T01:30:19.467 に答える
4

Go は、数値型の暗黙的な型変換をサポートしていません。

仕様を参照してください。これは安全性と予測可能性の理由によるものだと思います。私が見つけたもう1つのことは、少し奇妙/興味深いことでした.intからint32に暗黙的に変換することさえできないということです。これは、両方が同じサイズであるという奇妙な原因です。

型変換 エラー

于 2012-12-13T03:26:14.533 に答える
0

タイプ間で手動で変換する必要があります。

var b byte = byte(x % 256);
于 2017-01-01T23:33:42.140 に答える