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 |