golang for cast casting go numeric

casting - for - int64 to int golang



Casting entre tipos de nĂºmeros en golang (3)

Go no admite conversiones de tipo implícitas en tipo numérico.

Consulte la spec . Creo que esto es por razones de seguridad y previsibilidad. Una cosa más que encontré fue un poco extraño / interesante es que ni siquiera puedes convertir implícitamente de int a int32, lo cual es extraño porque ambos son del mismo tamaño.

¿Podría alguien decirme si go admite la conversión automática de tipos numéricos? En este momento tengo que convertir manualmente los resultados de todos mis cálculos a int o int64 y hacer un seguimiento de qué tipo numérico estoy usando.


Go no convertirá los tipos numéricos automáticamente para ti.

De la especificación del lenguaje:

Las conversiones son necesarias cuando se mezclan diferentes tipos numéricos en una expresión o asignación. Por ejemplo, int32 e int no son del mismo tipo, aunque pueden tener el mismo tamaño en una arquitectura particular.


Tienes que convertir entre tipos manualmente, por ejemplo

var b byte = byte(x % 256);