Sobes.tech
Junior — Middle

Bir int türündeki değişken maksimum değerine ulaşırsa ve çalışma sırasında taşma olursa, programda ne olur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde int tipi, işaretli tam sayı türüdür ve boyutu mimariye bağlıdır (genellikle 32 veya 64 bit). Bir int türündeki değişken maksimum değerine ulaşırsa ve taşma olursa:

  • Değer "sarmalanır" (wrap around) ve bu tür için mümkün olan en küçük negatif sayıya dönüşür.
  • Taşma, çalışma sırasında hata veya istisna oluşturmaz.

Örneğin, 32-bit int için maksimum değer 2.147.483.647'dir. Bunu 1 artırırsanız, değer -2.147.483.648 olur.

Örnek:

package main
import "fmt"

func main() {
    var x int32 = 2147483647 // max. değer için int32
    fmt.Println(x)           // 2147483647
    x = x + 1
    fmt.Println(x)           // -2147483648 (taşma)
}

Bu nedenle, tam sayılarla çalışırken taşma olasılığını dikkate almak ve daha geniş aralıklı türler veya ek kontroller kullanmak önemlidir.