Sobes.tech
Junior

Bir raqamni saqlash uchun qancha bayt kerak?

sobes.tech AI

AIdan javob

Go'da sonning saqlash o'lchami uning turiga bog'liq.

Ma'lumot turi O'lchami (bayt) Qiymatlar diapazoni
int Arxitekturaga bog'liq (32 yoki 64 bit) Arxitekturaga bog'liq
uint Arxitekturaga bog'liq (32 yoki 64 bit) Arxitekturaga bog'liq
int8 1 -128 dan 127 gacha
uint8 1 0 dan 255 gacha
int16 2 -32768 dan 32767 gacha
uint16 2 0 dan 65535 gacha
int32 4 -2147483648 dan 2147483647 gacha
uint32 4 0 dan 4294967295 gacha
int64 8 -9223372036854775808 dan 9223372036854775807 gacha
uint64 8 0 dan 18446744073709551615 gacha
float32 4 Taxminan ±3.4e38
float64 8 Taxminan ±1.8e308
complex64 8 Ikkita float32 qiymati (haqiqiy va imaginativ qismi)
complex128 16 Ikkita float64 qiymati (haqiqiy va imaginativ qismi)
byte 1 uint8 uchun sinonim
rune 4 int32 uchun sinonim (Unicode kod nuqtasi)

Ma'lum bir platformada tur o'lchamini aniqlash misoli:

import (
	"fmt"
	"unsafe"
)

func main() {
	// `int` va `uint` o'lchami protsessor arxitekturasiga bog'liq
	fmt.Printf("int o'lchami: %d bayt\n", unsafe.Sizeof(int(0)))
	fmt.Printf("uint o'lchami: %d bayt\n", unsafe.Sizeof(uint(0)))

	// Statik turlar o'lchamlari doimiy
	fmt.Printf("int8 o'lchami: %d bayt\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("float64 o'lchami: %d bayt\n", unsafe.Sizeof(float64(0)))
}