Sobes.tech
Junior

Cik baiti nepieciešami skaitļa glabāšanai?

sobes.tech AI

Atbilde no AI

Skaitļa glabāšanas izmērs Go ir atkarīgs no tā veida.

Datu tips Izmērs (baiti) Vērtību diapazons
int Atkarīgs no arhitektūras (32 vai 64 biti) Atkarīgs no arhitektūras
uint Atkarīgs no arhitektūras (32 vai 64 biti) Atkarīgs no arhitektūras
int8 1 -128 līdz 127
uint8 1 0 līdz 255
int16 2 -32768 līdz 32767
uint16 2 0 līdz 65535
int32 4 -2147483648 līdz 2147483647
uint32 4 0 līdz 4294967295
int64 8 -9223372036854775808 līdz 9223372036854775807
uint64 8 0 līdz 18446744073709551615
float32 4 Apmēram ±3.4e38
float64 8 Apmēram ±1.8e308
complex64 8 Divas float32 vērtības (reālais un iedomātais daļas)
complex128 16 Divas float64 vērtības (reālais un iedomātais daļas)
byte 1 Sinonīms uint8
rune 4 Sinonīms int32 (Unicode koda punkts)

Piemērs, kā noteikt tipa izmēru konkrētā platformā:

import (
	"fmt"
	"unsafe"
)

func main() {
	// `int` un `uint` izmērs ir atkarīgs no procesora arhitektūras
	fmt.Printf("`int` izmērs: %d baiti\n", unsafe.Sizeof(int(0)))
	fmt.Printf("`uint` izmērs: %d baiti\n", unsafe.Sizeof(uint(0)))

	// Fiksēto tipu izmēri ir konstanti
	fmt.Printf("`int8` izmērs: %d baiti\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("`float64` izmērs: %d baiti\n", unsafe.Sizeof(float64(0)))
}