Könnte mir bitte jemand sagen, wenn Go unterstützt automatische Umwandlung von numerischen Typen. Im Moment muss ich die Ergebnisse meiner Berechnungen in int oder int64 umwandeln und verfolgen, welchen numerischen Typ ich verwende.Casting zwischen Zahlentypen in Golang
16
A
Antwort
13
Go konvertiert numerische Typen nicht automatisch für Sie.
Von der Sprachspezifikation:
Konvertierungen erforderlich sind, wenn verschiedene numerische Typen in ein Ausdruck oder Zuordnung gemischt werden. Zum Beispiel sind int32 und int nicht vom gleichen Typ, obwohl sie die gleiche Größe auf einer bestimmten Architektur haben können.
4
Go unterstützt keine impliziten Typkonvertierungen im numerischen Typ.
Siehe spec. Ich denke, dies ist aus Gründen der Sicherheit und Vorhersehbarkeit. Eine weitere Sache, die ich fand, war ein bisschen seltsam/interessant ist, dass Sie implizit sogar von int zu int32 konvertieren können, was komisch ist, weil beide von der gleichen Größe sind.
0
Sie müssen manuell zwischen den Typen konvertieren, z.B.
Sie könnten wollen, betrachten [diese Frage und es ist Antworten] (http://stackoverflow.com/questions/13367979/idiomatic-type-conversion-in-go/13368417). – nemo