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
No answers yet.
Inicia sesión para dejar una respuesta