Sobes.tech
Junior

Колико бајтова је потребно за чување броја?

sobes.tech АИ

Одговор од АИ

Veličina skladištenja broja u Go zavisi od njegovog tipa.

Tip podatka Veličina (bajtovi) Opseg vrednosti
int Zavisi od arhitekture (32 ili 64 bita) Zavisi od arhitekture
uint Zavisi od arhitekture (32 ili 64 bita) Zavisi od arhitekture
int8 1 -128 do 127
uint8 1 0 do 255
int16 2 -32768 do 32767
uint16 2 0 do 65535
int32 4 -2147483648 do 2147483647
uint32 4 0 do 4294967295
int64 8 -9223372036854775808 do 9223372036854775807
uint64 8 0 do 18446744073709551615
float32 4 Otprilike ±3.4e38
float64 8 Otprilike ±1.8e308
complex64 8 Dve vrednosti float32 (realni i imaginarnu deo)
complex128 16 Dve vrednosti float64 (realni i imaginarnu deo)
byte 1 Sinonim za uint8
rune 4 Sinonim za int32 (Unicode kod tačka)

Primer određivanja veličine tipa na specifičnoj platformi:

import (
	"fmt"
	"unsafe"
)

func main() {
	// Veličina `int` i `uint` zavisi od arhitekture procesora
	fmt.Printf("Veličina int: %d bajta\n", unsafe.Sizeof(int(0)))
	fmt.Printf("Veličina uint: %d bajta\n", unsafe.Sizeof(uint(0)))

	// Veličine fiksnih tipova su konstantne
	fmt.Printf("Veličina int8: %d bajta\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("Veličina float64: %d bajta\n", unsafe.Sizeof(float64(0)))
}