Go programmieren für Dummies. Wei-Meng Lee
Читать онлайн книгу.Fehler Sie vermeiden sollten, damit Sie sich beim Programmieren keine Steine in den Weg legen.
Weitere Ressourcen
Am Anfang dieses Buches finden Sie wie üblich einige »Schummelseiten«, die Sie sich ausschneiden und griffbereit neben den Computer legen können. Und damit Sie die Programmbeispiele nicht alle mühsam per Hand abtippen müssen, stehen die Quelltexte in Dateiform unter folgender Adresse zum Herunterladen bereit: www.wiley-vch.de/ISBN9783527719464
.
Wie es weitergeht
Befassen Sie sich zum allerersten Mal mit Go? Dann beginnen Sie am besten mit Kapitel 1 und lesen der Reihe nach die weiteren Kapitel. Wenn Sie hingegen schon Grundkenntnisse zu Go mitbringen und sofort mit praktischen Anwendungsbeispielen loslegen möchten, hält Teil V passende Inhalte für Sie parat. Unabhängig von Ihren bisherigen Erfahrungen mit Go können Sie natürlich auch jederzeit über das Inhaltsverzeichnis oder den Index gezielt nach Themen suchen, die Sie besonders interessieren.
Zu guter Letzt noch ein Rat für alle Neulinge: Probieren geht über Studieren und aus Fehlern wird man klug! Führen Sie die Programmbeispiele auf Ihrem Computer aus, nehmen Sie ruhig hier und da Änderungen vor und ärgern Sie sich nicht, wenn mal etwas nicht wie gewünscht funktioniert. Je mehr Fehler Ihnen unterlaufen, desto besser werden Sie die behandelten Themen verstehen.
Ich wünsche Ihnen viel Erfolg und Vergnügen beim Programmieren mit Go!
Teil I
Erste Schritte mit Go
IN DIESEM TEIL …
Schreiben Sie Ihr erstes Go-Programm.
Lernen Sie grundlegende Datentypen in Go kennen und deklarieren Variablen und Konstanten.
Programmieren Sie Entscheidungsstrukturen mithilfe von logischen Operatoren und Vergleichsoperatoren.
Erstellen Sie Programmschleifen und lassen Code wiederholt ausführen.
Verwenden Sie Funktionen, um Ihre Go-Programme übersichtlicher zu gestalten.
Kapitel 1
Auf die Plätze, fertig, Go!
IN DIESEM KAPITEL
Vorteile von Go
Go auf Ihrem Computer installieren
Mit einer IDE arbeiten
Go-Programme schreiben und ihre Funktionsweise verstehen
Go im Vergleich mit anderen Programmiersprachen
Go ist eine quelloffene Programmiersprache, die von Google erstmals im Jahr 2009 vorgestellt wurde und inzwischen immer mehr Fans findet. Mit dieser Sprache können Sie unterschiedlichste Aufgaben bewältigen und vor allem schnelle, skalierbare Anwendungen entwickeln.
Hinter Go stecken einige ziemlich clevere Köpfe, allen voran: Ken Thompson (Designer und Erfinder von Unix und C), Rob Pike (Co-Entwickler des UTF-8- und Unix-Formats) und Robert Griesemer (ein Google-Informatiker). Wenn Sie sich für technische Details interessieren und des Englischen mächtig sind, können Sie im Artikel »Go at Google: Language Design in the Service of Software Engineering« (
https://talks.golang.org/2012/splash.article
) nachlesen, welche Problemstellungen ursprünglich mit Go bei Google angegangen werden sollten.
In diesem Kapitel erfahren Sie, warum Go Ihrer Karriere zuträglich ist, wo diese Sprache überall eingesetzt werden kann und welche ersten Schritte Sie unternehmen müssen, um selbst mit Go zu programmieren.
Da die Website von Go unter der Adresse
https://golang.org
zu erreichen ist, hat sich auch die Bezeichnung Golang für diese Programmiersprache etabliert. Der offizielle Name ist jedoch Go und wird demzufolge in diesem Buch beibehalten.
Mit Go zum beruflichen Erfolg
Programmiersprachen gibt es heute viele, doch Go sticht aus der breiten Masse hervor. Dies hat mehrere Gründe:
Go lässt sich leicht erlernen. Durch seine Syntax ist Go eine gut lesbare Sprache. Die objektorientierte Programmierung wird nicht unterstützt, sodass Sie sich keine Gedanken um Klassen und Vererbung und all die komplexen Merkmale dieses Programmierparadigmas machen müssen.Bei der objektorientierten Programmierung (OOP) dreht sich alles um Datenobjekte. Es geht also primär nicht um Funktionen oder Logik, sondern um Daten. Ein wesentliches Konzept bei der OOP ist die Klasse (quasi eine Art Vorlage für Datenobjekte). Angenommen, Sie möchten Ihre Anwendung mit mehreren Schaltflächen versehen. Damit Sie den zugehörigen Programmcode nicht wiederholt für jede einzelne Schaltfläche schreiben müssen, können Sie eine Klasse für eine generische Schaltfläche definieren und diese dann zum Erstellen Ihrer gewünschten Schaltflächen nutzen. Dabei hat jede Schaltfläche ihre eigenen Attribute (Merkmale). Mithilfe von Vererbung können Sie bei der OOP mehrere Subklassen aus der generischen Schaltflächenklasse erzeugen, um unterschiedliche Arten von Schaltflächen zu generieren, beispielsweise Schaltflächen in Rechteckform oder mit abgerundeten Ecken und so weiter.
Go hat eine geringere Funktionsauswahl als andere Programmiersprachen. Bei Go müssen Sie nicht erst überlegen, auf welche Weise Sie ein bestimmtes Problem am besten lösen – es gibt immer nur eine korrekte Vorgehensweise. Dadurch bleibt Ihre Codebasis viel übersichtlicher.
Go glänzt bei nebenläufiger Programmierung. Durch sogenannte Goroutinen ist es äußerst einfach, mehrere Funktionen parallel auszuführen.
Go bietet derzeit keine Unterstützung für generische Datentypen (bei denen der tatsächliche Datentyp erst bei Verwendung angegeben werden muss), doch dies könnte sich künftig ändern, da die Sprache weiterentwickelt wird.
All das hat Sie noch nicht überzeugt? Dann habe ich ein weiteres Argument, das Sie motivieren könnte, die Programmierung mit Go zu lernen: Stack Overflow, eine Internetplattform mit Fragen und Antworten rund um das Thema Programmierung, führt jährliche Gehaltsumfragen unter Softwareentwicklern durch. Ergebnissen aus dem Jahr 2021 zufolge (siehe Stack Overflow Developer Survey 2021, https://insights.stackoverflow.com/survey/2021
) landen Go-Entwickler unter den ersten zehn.
Obwohl es Go schon eine ganze Weile gibt (nämlich seit 2009), findet die Sprache erst jetzt immer mehr Zustimmung in der Softwareentwicklungsbranche, vor allem dank Cloud-Computing und Microservices. Mittlerweile kommt Go bei zahlreichen großen Unternehmen wie Dailymotion, Dropbox, Google und Uber zum Einsatz.
Die Anwendungsszenarien sind vielfältig:
Cloud-Services: Mit Go und der Google Cloud Platform (GCP) können Sie skalierbare Apps erstellen.
Netzwerkanwendungen: Durch