2012-12-13 7 views
16

に数種の間でキャストすると、誰かが私に教えてもらえます。今私は手動ですべての計算の結果をintまたはint64に変換し、使用している数値型を追跡する必要があります。Goは数値型の自動キャストをサポートしている場合golang

+1

あなたは見たいかもしれません[この質問とそれが答えだ](http://stackoverflow.com/questions/13367979/idiomatic-type-conversion-in-go/13368417)。 – nemo

答えて

13

Goでは自動的に数値型を変換しません。言語仕様から

:異なる数値型が 式または割り当てで混合される場合

変換が必要です。たとえば、特定の アーキテクチャで同じサイズを持つ場合でも、int32とintは同じタイプの ではありません。

4

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

specを参照してください。私はこれが安全性と予測可能性の理由によるものだと思います。私が見つけたもう1つのことは、奇妙で興味深いことでした。intからint32に暗黙的に変換することさえできないということです。どちらも同じサイズの奇妙な原因です。あなたは、例えば、手動タイプ間で変換する必要が

type conversion error

+4

'int'は' int32'として指定されていません。実装とプラットフォームによって異なります。 – Dustin

+0

それであなたはどうやってそれを明示しますか? –

+19

と言ってy = int32(x) – gprasant

関連する問題