Avatar ·

Valor máximo para el tipo int en Go: ¿cómo obtenerlo y usarlo?

¡Hola a todos! Acabo de empezar a estudiar Go y me encontré con una situación confusa. Estoy escribiendo un programa simple para calcular el factorial y necesito saber el valor máximo que puede almacenar el tipo `int`. En otros lenguajes (por ejemplo, en C++ o Java) estoy acostumbrado a que existan constantes como `INT_MAX` o `Integer.MAX_VALUE`. Pero en Go no puedo encontrar un equivalente. Intenté hacer esto: ```go package main import "fmt" func main() { var i int = 2147483647 // pensé que esto era el máximo para int fmt.Println(i) i = i + 1 fmt.Println(i) // esperaba un error, pero obtuve un número negativo } ``` Para mi sorpresa, el programa se compiló e incluso se ejecutó. Pero al desbordarse obtuve un valor negativo, no un error de compilación o en tiempo de ejecución. Esto me confundió. Preguntas: 1. ¿Cómo saber el valor máximo para `int` en Go? 2. ¿Por qué no se produce un error al desbordarse? 3. ¿Depende el valor máximo de la arquitectura (32-bit vs 64-bit)? 4. ¿Hay alguna forma segura de verificar si