Junior
Welche sind die wichtigsten Datenstrukturen in Go?
sobes.tech KI
Antwort von AI
In Go gibt es die folgenden grundlegenden (primitive) und zusammengesetzten (composite) Datenstrukturen:
Primitive:
- Boolesche Werte (
bool) - Numerische Typen:
- Ganzzahlen (
int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,uintptr) - Gleitkommazahlen (
float32,float64) - Komplexzahlen (
complex64,complex128) - Byte (
byte- Alias füruint8) - Rune (
rune- Alias fürint32, stellt ein Unicode-Zeichen dar)
- Ganzzahlen (
- Strings (
string)
Zusammengesetzt:
- Arrays (
array)- Feste Größe.
var arr [5]int // Array aus 5 Ganzzahlen - Slices (
slice)- Dynamische Größe, basieren auf Arrays.
var s []int // nicht initialisierter Slice s = make([]int, 5, 10) // Slice mit Länge 5 und Kapazität 10 - Maps (
map)- Unsortierte Sammlung von Schlüssel-Wert-Paaren.
m := make(map[string]int) // Map mit string-Schlüsseln und int-Werten - Structs (
struct)- Typisierte Sammlung von Feldern.
type Person struct { Name string Age int } - Zeiger (
pointer)- Speichern die Adresse einer Speicherzelle.
var x int = 10 var p *int = &x // p zeigt auf x - Funktionen (
func)- In Go sind Funktionen First-Class-Typen.
type MyFunc func(int) string // Funktionstyp - Kanäle (
channel)- Werden für Synchronisation und Datenaustausch zwischen Goroutinen verwendet.
ch := make(chan int) // unpufferter Kanal für int - Interfaces (
interface)- Repräsentieren eine Menge von Methoden, die ein Typ implementieren muss.
type Reader interface { Read(p []byte) (n int, err error) }
Es ist auch wichtig, andere wichtige zusammengesetzte Typen zu erwähnen, wie:
- Byte-Slices (
[]byte) - Rune-Slices (
[]rune)
Diese Datenstrukturen bieten Flexibilität und Leistung für eine Vielzahl von Aufgaben in Go.