Go - Datentypen

In der Programmiersprache Go beziehen sich Datentypen auf ein umfangreiches System, das zum Deklarieren von Variablen oder Funktionen verschiedener Typen verwendet wird. Der Typ einer Variablen bestimmt, wie viel Speicherplatz sie einnimmt und wie das gespeicherte Bitmuster interpretiert wird.

Die Typen in Go können wie folgt klassifiziert werden:

Sr.Nr. Typen und Beschreibung
1

Boolean types

Sie sind boolesche Typen und bestehen aus den beiden vordefinierten Konstanten: (a) wahr (b) falsch

2

Numeric types

Sie sind wieder arithmetische Typen und repräsentieren a) ganzzahlige Typen oder b) Gleitkommawerte im gesamten Programm.

3

String types

Ein Zeichenfolgentyp repräsentiert die Menge der Zeichenfolgenwerte. Sein Wert ist eine Folge von Bytes. Zeichenfolgen sind unveränderliche Typen, die einmal erstellt wurden. Es ist nicht möglich, den Inhalt einer Zeichenfolge zu ändern. Der vorab deklarierte Zeichenfolgentyp ist Zeichenfolge.

4

Derived types

Dazu gehören (a) Zeigertypen, (b) Array-Typen, (c) Strukturtypen, (d) Union-Typen und (e) Funktionstypen f) Slice-Typen g) Schnittstellentypen h) Map-Typen i) Kanaltypen

Array-Typen und Strukturtypen werden zusammen als bezeichnet aggregate types. Der Typ einer Funktion gibt die Menge aller Funktionen mit demselben Parameter und denselben Ergebnistypen an. Wir werden die Grundtypen im folgenden Abschnitt diskutieren, während andere Typen in den kommenden Kapiteln behandelt werden.

Ganzzahlige Typen

Die vordefinierten architekturunabhängigen Ganzzahltypen sind -

Sr.Nr. Typen und Beschreibung
1

uint8

8-Bit-Ganzzahlen ohne Vorzeichen (0 bis 255)

2

uint16

Vorzeichenlose 16-Bit-Ganzzahlen (0 bis 65535)

3

uint32

32-Bit-Ganzzahlen ohne Vorzeichen (0 bis 4294967295)

4

uint64

64-Bit-Ganzzahlen ohne Vorzeichen (0 bis 18446744073709551615)

5

int8

Vorzeichenbehaftete 8-Bit-Ganzzahlen (-128 bis 127)

6

int16

Vorzeichenbehaftete 16-Bit-Ganzzahlen (-32768 bis 32767)

7

int32

Vorzeichenbehaftete 32-Bit-Ganzzahlen (-2147483648 bis 2147483647)

8

int64

Vorzeichenbehaftete 64-Bit-Ganzzahlen (-9223372036854775808 bis 9223372036854775807)

Schwimmende Typen

Die vordefinierten architekturunabhängigen Float-Typen sind -

Sr.Nr. Typen und Beschreibung
1

float32

IEEE-754 32-Bit-Gleitkommazahlen

2

float64

IEEE-754 64-Bit-Gleitkommazahlen

3

complex64

Komplexe Zahlen mit float32 Real- und Imaginärteilen

4

complex128

Komplexe Zahlen mit float64 Real- und Imaginärteilen

Der Wert einer n-Bit-Ganzzahl beträgt n Bits und wird unter Verwendung von Zweierkomplement-Arithmetikoperationen dargestellt.

Andere numerische Typen

Es gibt auch eine Reihe von numerischen Typen mit implementierungsspezifischen Größen -

Sr.Nr. Typen und Beschreibung
1

byte

das gleiche wie uint8

2

rune

das gleiche wie int32

3

uint

32 oder 64 Bit

4

int

gleiche Größe wie uint

5

uintptr

eine vorzeichenlose Ganzzahl zum Speichern der nicht interpretierten Bits eines Zeigerwerts