Sobes.tech
Junior

Mennyi bájt szükséges egy szám tárolásához?

sobes.tech MI

Válasz az MI-től

A szám tárolási mérete Go-ban a típusától függ.

Adattípus Méret (byte) Értéktartomány
int Aarchitektúrától függ (32 vagy 64 bit) Aarchitektúrától függ
uint Aarchitektúrától függ (32 vagy 64 bit) Aarchitektúrától függ
int8 1 -128-tól 127-ig
uint8 1 0-tól 255-ig
int16 2 -32768-tól 32767-ig
uint16 2 0-tól 65535-ig
int32 4 -2147483648-tól 2147483647-ig
uint32 4 0-tól 4294967295-ig
int64 8 -9223372036854775808-tól 9223372036854775807-ig
uint64 8 0-tól 18446744073709551615-ig
float32 4 Körülbelül ±3.4e38
float64 8 Körülbelül ±1.8e308
complex64 8 Két float32 érték (valós és képzetes rész)
complex128 16 Két float64 érték (valós és képzetes rész)
byte 1 Szinonima a uint8-hoz
rune 4 Szinonima az int32-hez (Unicode kódpont)

Példa a típus méretének meghatározására egy adott platformon:

import (
	"fmt"
	"unsafe"
)

func main() {
	// Az `int` és `uint` mérete a processzor architektúrájától függ
	fmt.Printf("Az int mérete: %d byte\n", unsafe.Sizeof(int(0)))
	fmt.Printf("A uint mérete: %d byte\n", unsafe.Sizeof(uint(0)))

	// A fix típusok mérete állandó
	fmt.Printf("Az int8 mérete: %d byte\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("A float64 mérete: %d byte\n", unsafe.Sizeof(float64(0)))
}