Sobes.tech
Junior

Bir ədədi saxlamaq üçün neçə bayt lazımdır?

sobes.tech Süni İntellekt

AI-dan cavab

Go'da bir sayının yaddaş ölçüsü onun növündən asılıdır.

Növü Ölçüsü (bayt) Dəyər aralığı
int Arxitekturaya bağlıdır (32 və ya 64 bit) Arxitekturaya bağlıdır
uint Arxitekturaya bağlıdır (32 və ya 64 bit) Arxitekturaya bağlıdır
int8 1 -128-dən 127-ə qədər
uint8 1 0-dan 255-ə qədər
int16 2 -32768-dən 32767-ə qədər
uint16 2 0-dan 65535-ə qədər
int32 4 -2147483648-dən 2147483647-ə qədər
uint32 4 0-dan 4294967295-ə qədər
int64 8 -9223372036854775808-dən 9223372036854775807-ə qədər
uint64 8 0-dan 18446744073709551615-ə qədər
float32 4 Təqribən ±3.4e38
float64 8 Təqribən ±1.8e308
complex64 8 İki float32 dəyəri (reallıq və təsəvvür hissələri)
complex128 16 İki float64 dəyəri (reallıq və təsəvvür hissələri)
byte 1 uint8 üçün sinonim
rune 4 int32 üçün sinonim (Unicode kod nöqtəsi)

Müəyyən bir platformada növün ölçüsünü müəyyən etmək üçün nümunə:

import (
	"fmt"
	"unsafe"
)

func main() {
	// `int` və `uint` ölçüsü prosessor arxitekturasına bağlıdır
	fmt.Printf("`int` ölçüsü: %d bayt\n", unsafe.Sizeof(int(0)))
	fmt.Printf("`uint` ölçüsü: %d bayt\n", unsafe.Sizeof(uint(0)))

	// Sabit növlərin ölçüsü dəyişməzdir
	fmt.Printf("`int8` ölçüsü: %d bayt\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("`float64` ölçüsü: %d bayt\n", unsafe.Sizeof(float64(0)))
}