Sobes.tech
Junior

Wie viele Bytes benötigt die Speicherung einer Zahl?

sobes.tech KI

Antwort von AI

Die Speichergröße einer Zahl in Go hängt von ihrem Typ ab.

Datentyp Größe (Bytes) Wertebereich
int Hängt von der Architektur ab (32 oder 64 Bit) Hängt von der Architektur ab
uint Hängt von der Architektur ab (32 oder 64 Bit) Hängt von der Architektur ab
int8 1 -128 bis 127
uint8 1 0 bis 255
int16 2 -32768 bis 32767
uint16 2 0 bis 65535
int32 4 -2147483648 bis 2147483647
uint32 4 0 bis 4294967295
int64 8 -9223372036854775808 bis 9223372036854775807
uint64 8 0 bis 18446744073709551615
float32 4 Ca. ±3.4e38
float64 8 Ca. ±1.8e308
complex64 8 Zwei float32 Werte (reeller und imaginärer Teil)
complex128 16 Zwei float64 Werte (reeller und imaginärer Teil)
byte 1 Synonym für uint8
rune 4 Synonym für int32 (Unicode-Codepunkt)

Beispiel, um die Größe eines Typs auf einer bestimmten Plattform zu bestimmen:

import (
	"fmt"
	"unsafe"
)

func main() {
	// Die Größe von int und uint hängt von der Architektur des Prozessors ab
	fmt.Printf("Größe von int: %d Bytes\n", unsafe.Sizeof(int(0)))
	fmt.Printf("Größe von uint: %d Bytes\n", unsafe.Sizeof(uint(0)))

	// Die Größen fester Typen sind konstant
	fmt.Printf("Größe von int8: %d Bytes\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("Größe von float64: %d Bytes\n", unsafe.Sizeof(float64(0)))
}