Skip to content

Go-Datentypen

Nachfolgend sind alle integrierten Typen in der Go-Sprache aufgeführt. Weitere Details finden Sie im Referenzhandbuch - Typen.

Boolescher Typ

Der boolesche Typ hat nur Wahr- und Falschwerte.

TypBeschreibung
booltrue ist der Wahrwert, false ist der Falschwert

TIP

In Go repräsentiert die Ganzzahl 0 nicht den Falschwert, und nicht-null Ganzzahlen können auch nicht den Wahrwert repräsentieren. Das heißt, Zahlen können nicht boolesche Werte ersetzen, um logische Urteile zu fällen. Beide sind völlig unterschiedliche Typen.

Ganzzahltyp

Go weist verschiedenen Bit-Ganzzahlen unterschiedliche Typen zu, hauptsächlich unterteilt in vorzeichenlose und vorzeichenbehaftete Ganzzahltypen.

Nr.Typ und Beschreibung
uint8Vorzeichenloser 8-Bit-Ganzzahltyp
uint16Vorzeichenloser 16-Bit-Ganzzahltyp
uint32Vorzeichenloser 32-Bit-Ganzzahltyp
uint64Vorzeichenloser 64-Bit-Ganzzahltyp
int8Vorzeichenbehafteter 8-Bit-Ganzzahltyp
int16Vorzeichenbehafteter 16-Bit-Ganzzahltyp
int32Vorzeichenbehafteter 32-Bit-Ganzzahltyp
int64Vorzeichenbehafteter 64-Bit-Ganzzahltyp
uintVorzeichenloser Ganzzahltyp, mindestens 32 Bit
intGanzzahltyp, mindestens 32 Bit
uintptrEntspricht einem vorzeichenlosen 64-Bit-Ganzzahltyp, jedoch speziell für Zeigeroperationen verwendet, um tote Zeigeradressen zu speichern.

Gleitkommatyp

IEEE-754-Gleitkommazahlen, hauptsächlich unterteilt in einfachgenaue und doppeltgenaue Gleitkommazahlen.

TypBeschreibung
float32IEEE-754 32-Bit-Gleitkomma
float64IEEE-754 64-Bit-Gleitkomma

Komplexer Typ

TypBeschreibung
complex12864-Bit-Real- und Imaginärteil
complex6432-Bit-Real- und Imaginärteil

Zeichentyp

Go-Sprachenstrings sind vollständig UTF-8-kompatibel.

TypBeschreibung
byteEntspricht uint8, kann ANSCII-Zeichen ausdrücken
runeEntspricht int32, kann Unicode-Zeichen ausdrücken
stringString ist eine Byte-Sequenz, kann in []byte-Typ konvertiert werden, d. h. Byte-Slice

Abgeleitete Typen

TypBeispiel
Array[5]int, Ganzzahl-Array der Länge 5
Slice[]float64, 64-Bit-Gleitkomma-Slice
Mapmap[string]int, Map mit String-Schlüssel und Ganzzahl-Wert
Strukturtype Gopher struct{}, Gopher-Struktur
Zeiger*int, ein Ganzzahl-Zeiger
Funktiontype f func(), ein Funktionstyp ohne Parameter und Rückgabewert
Schnittstelletype Gopher interface{}, Gopher-Schnittstelle
Kanalchan int, Ganzzahl-Kanal

Nullwert

In der offiziellen Dokumentation wird der Nullwert als zero value bezeichnet. Der Nullwert ist nicht nur die numerische Null, sondern genauer gesagt der Leerwert oder Standardwert eines Typs.

TypNullwert
Numerische Typen0
Boolescher Typfalse
String-Typ""
ArraySammlung von Nullwerten des entsprechenden Typs fester Länge
StrukturStruktur, deren interne Felder alle Nullwerte sind
Slice, Map, Funktion, Schnittstelle, Kanal, Zeigernil

nil

nil ist ähnlich wie none oder null in anderen Sprachen, aber nicht gleichbedeutend. nil ist nur der Nullwert einiger Referenztypen und gehört keinem Typ an. Aus dem Quellcode ist ersichtlich, dass nil nur eine Variable ist:

go
var nil Type

Außerdem kann eine Anweisung wie nil == nil nicht kompiliert werden.

Golang by www.golangdev.cn edit