Junior
Bir sayının saklanması kaç bayt alır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da bir sayının depolama boyutu, türüne bağlıdır.
| Veri Tipi | Boyut (bayt) | Değer aralığı |
|---|---|---|
int |
Mimariye bağlıdır (32 veya 64 bit) | Mimariye bağlıdır |
uint |
Mimariye bağlıdır (32 veya 64 bit) | Mimariye bağlıdır |
int8 |
1 | -128 ile 127 arasında |
uint8 |
1 | 0 ile 255 arasında |
int16 |
2 | -32768 ile 32767 arasında |
uint16 |
2 | 0 ile 65535 arasında |
int32 |
4 | -2147483648 ile 2147483647 arasında |
uint32 |
4 | 0 ile 4294967295 arasında |
int64 |
8 | -9223372036854775808 ile 9223372036854775807 arasında |
uint64 |
8 | 0 ile 18446744073709551615 arasında |
float32 |
4 | Yaklaşık ±3.4e38 |
float64 |
8 | Yaklaşık ±1.8e308 |
complex64 |
8 | İki float32 değeri (gerçek ve sanal kısımlar) |
complex128 |
16 | İki float64 değeri (gerçek ve sanal kısımlar) |
byte |
1 | uint8 için eşanlamlı |
rune |
4 | int32 için eşanlamlı (Unicode kod noktası) |
Belirli bir platformda tür boyutunu belirlemek için örnek:
import (
"fmt"
"unsafe"
)
func main() {
// `int` ve `uint` boyutları işlemci mimarisine bağlıdır
fmt.Printf("int boyutu: %d bayt\n", unsafe.Sizeof(int(0)))
fmt.Printf("uint boyutu: %d bayt\n", unsafe.Sizeof(uint(0)))
// Sabit türlerin boyutları sabittir
fmt.Printf("int8 boyutu: %d bayt\n", unsafe.Sizeof(int8(0)))
fmt.Printf("float64 boyutu: %d bayt\n", unsafe.Sizeof(float64(0)))
}