Kapitel 7. Typen, Methoden und Schnittstellen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wie du in früheren Kapiteln gesehen hast, ist Go eine statisch typisierte Sprache mit eingebauten Typen und benutzerdefinierten Typen. Wie die meisten modernen Sprachen erlaubt es Go, Methoden an Typen anzuhängen. Es gibt auch eine Typabstraktion, die es dir ermöglicht, Code zu schreiben, der Methoden aufruft, ohne die Implementierung explizit anzugeben.
Der Ansatz von Go in Bezug auf Methoden, Schnittstellen und Typen unterscheidet sich jedoch stark von dem der meisten anderen Sprachen, die heute gebräuchlich sind. Go ist so konzipiert, dass es die bewährten Methoden der Softwareentwicklung fördert, indem es die Vererbung vermeidet und die Komposition fördert. In diesem Kapitel wirfst du einen Blick auf Typen, Methoden und Schnittstellen und erfährst, wie du sie nutzen kannst, um testbare und wartbare Programme zu erstellen.
Typen in Go
In "Structs" hast du gesehen, wie man einen struct-Typ definiert:
typePersonstruct{FirstNamestringLastNamestringAgeint}
Dies ist so zu verstehen, dass ein benutzerdefinierter Typ mit dem Namen Person deklariert wird, der den zugrundeliegenden Typ des nachfolgenden struct-Literal hat. Zusätzlich zu struct-Literalen kannst du jedes primitive oder zusammengesetzte Typ-Literal verwenden, um einen konkreten Typ zu definieren. Hier sind ein paar Beispiele: