Valor máximo para o tipo int em Go: como obtê-lo e usá-lo?
Olá a todos! Comecei a estudar Go recentemente e me deparei com uma situação confusa. Estou escrevendo um programa simples para calcular fatorial e preciso saber o valor máximo que o tipo `int` pode armazenar. Em outras linguagens (como C++ ou Java), estou acostumado com constantes como `INT_MAX` ou `Integer.MAX_VALUE`. Mas em Go não consigo encontrar um análogo.
Tentei fazer assim:
```go
package main
import "fmt"
func main() {
var i int = 2147483647 // pensei que era o máximo para int
fmt.Println(i)
i = i + 1
fmt.Println(i) // esperava um erro, mas obtive um número negativo
}
```
Para minha surpresa, o programa compilou e até executou. Mas na ocorrência de overflow, obtive um valor negativo, e não um erro de compilação ou runtime. Isso me deixou confuso.
Perguntas:
1. Como descobrir o valor máximo para `int` em Go?
2. Por que não ocorre um erro em caso de overflow?
3. O valor máximo depende da arquitetura (32-bit vs 64-bit)?
4. Existe uma maneira segura de verificar se
No answers yet.
Faça login para deixar uma resposta