Kapitel 14. Weitere Rezepte für Datenstrukturen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

14.0 Einleitung

In Kapitel 12 ging es um Structs und in Kapitel 13 um Arrays, Slices und Maps. Dies sind die vier grundlegenden Datenstrukturen in Go. Im Gegensatz zu vielen anderen Programmiersprachen gibt es in Go keine anderen grundlegenden Datenstrukturen (obwohl das Paket container in der Standardbibliothek enthalten ist, gibt es nur sehr wenige Implementierungen). Bei deinen täglichen Programmieraufgaben wirst du oft andere Datenstrukturen verwenden müssen, die weder in der Sprache noch in der Standardbibliothek zur Verfügung stehen, und es ist nicht sehr schwierig, sie neu zu erstellen.

In diesem Kapitel wirst du ein paar gängige Datenstrukturen mit Go erstellen:

  • Warteschlange

  • Stack

  • Set

  • Verknüpfte Liste

  • Heap

  • Grafik

In jedem Rezept wird zunächst erklärt, was die Datenstruktur ist, und dann wird gezeigt, wie man sie von Grund auf aufbaut.

Keine der Datenstrukturen auf ist nebenläufigkeitssicher. Das liegt daran, dass sie auf den drei grundlegenden Go-Datenstrukturen - Arrays, Slices und Maps - aufbauen, die nicht nebenläufigkeitssicher sind. Um Wettlaufsituationen zu vermeiden, kannst du der Datenstruktur ein Mutex hinzufügen und die Datenstruktur damit vor dem Lesen oder Schreiben sperren. Das Paket sync hat eine RWMutex, die du für diesen Zweck verwenden kannst.

Ein Wort zur ...

Get Go Kochbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.