Go programmieren für Dummies. Wei-Meng Lee

Читать онлайн книгу.

Go programmieren für Dummies - Wei-Meng Lee


Скачать книгу
tion id="u05c9c209-a893-572e-b42b-ffca213194eb">

      

      Schummelseite

      ERSTE SCHRITTE MIT GO IM WEB

      Es gibt Situationen, in denen Go nicht auf dem lokalen Computer installiert werden kann. Vielleicht sitzen Sie ja an einem Computer Ihres Arbeitgebers und haben nur eingeschränkte Benutzerrechte. Oder Ihnen steht gerade gar kein eigener Computer zur Verfügung. Was auch immer der Grund ist: Sie brauchen nicht zu verzagen, denn es gibt verschiedene Alternativen im Internet und integrierte Entwicklungsumgebungen (IDEs), mit denen Sie Ihre ersten eigenen Go-Programme testen können. Die folgenden drei sind ziemlich cool:

       Go Playground (https://play.golang.org/): Der Go Playground ist ein Webservice, der über die Server der offiziellen Go-Website betrieben wird. Er bietet eine Testumgebung mit einem Großteil der Standardbibliothek, sodass Sie Ihren Programmcode online ausprobieren können, ohne Go installieren zu müssen.Eine besonders gern genutzte Funktion ist die Codeweitergabe. Durch Klick auf die Schaltfläche SHARE wird Ihrem Code eine feste URL zugeteilt. Auf diese Weise können Sie zum Beispiel Programmausschnitte an Mitglieder Ihres Entwicklungsteams weiterleiten oder als Lehrkraft im Rahmen von Programmierkursen Beispielcode für die Teilnehmenden bereitstellen. Der Code lässt sich in der Testumgebung bearbeiten, kompilieren und ausführen.

       JDoodle Online GO Lang IDE (https://www.jdoodle.com/execute-go-online): Eine weitere IDE im Web für Go ist die JDoodle Online GO Lang IDE. Wenngleich der Go Playground sehr einfach zu benutzen ist, kann Ihr dort eingegebenes Programm nur über die Ausgabekonsole mit dem Rest der Welt interagieren. Benötigt Ihr Programm eine Benutzereingabe (zum Beispiel für die Funktion fmt.Scanln()), haben Sie also Pech. Hier kommt die JDoodle Online GO Lang IDE ins Spiel. Mit dieser Umgebung können Sie ein interaktives Go-Programm erstellen, das sowohl Eingaben entgegennehmen als auch Ausgaben zurückliefern kann. Obendrein haben Sie die Wahl, ob Ihr Programm in der Cloud oder als lokale Kopie auf Ihrem Computer gespeichert werden soll. Bei Bedarf können Sie auch eine lokale Datei in die JDoodle Online GO Lang IDE hochladen.Die vielleicht interessanteste Funktion der JDoodle Online GO Lang IDE ist die Option zur kollaborativen Programmierung. Dadurch können mehrere Personen gleichzeitig ein Programm bearbeiten – ideal für Onlineschulungen.

       Repl.it – Compiler und Interpreter für Go (https://repl.it/languages/go): Der Compiler und Interpreter für Go von Repl.it ist online verfügbar und ermöglicht es Ihnen, Dateien und Ordner mit Programmcode hochzuladen. Außerdem gibt es eine interaktive Konsole, über die Ihr Go-Programm Eingaben entgegennimmt und Ausgaben zurückliefert.Eine recht nützliche Funktion der Repl.it-IDE ist zudem ihre Integration mit GitHub zur Versionskontrolle. Auch die interaktive Codeweitergabe wird unterstützt, um besser im Team programmieren zu können.

      KONVERTIERUNG VON JSON-DATEN IN EIN GO-FORMAT

      Beim Programmieren wird Ihnen früher oder später das JSON-Datenformat begegnen. Daten, die in dieser JavaScript Object Notation vorliegen, müssen in ein Format überführt werden, das sich in Ihrem Go-Programm leichter verarbeiten lässt. Mit den folgenden Onlinetools können Sie die JSON-Strings direkt in Go-Strukturen konvertieren:

       JSON-to-Go (https://mholt.github.io/json-to-go)

       Transform (https://transform.tools/json-to-go)

       Json2Struct (http://json2struct.mervine.net/)

      NUTZUNG VON GOLANG IN DOCKER

      Wenn Sie Docker verwenden, können Sie Ihre Go-Programme aus einem Docker-Container heraus ausführen.

      Um ein Go-Beispielprogramm in einem Golang-Docker-Container zu installieren, geben Sie folgenden Befehl im Terminal oder in der Eingabeaufforderung ein:

      $ docker run golang go get -v github.com/golang/example/hello/…

      Dieser Befehl installiert das Go-Beispielprogramm (https://github.com/golang/example/hello) in einem Golang-Container. Die Ellipse () repräsentiert Anweisungen zum Herunterladen, Zusammensetzen und Installieren aller Objekte im Repository (einschließlich Bibliotheken und Binärdateien).

      Sie haben nun einen Golang-Container, in dem sich das Go-Beispielprogramm befindet. Als Nächstes müssen Sie den Container einem neuen Docker-Image zuordnen, sodass Sie künftig, wenn Sie dieses Programm ausführen möchten, ganz einfach einen Container aus diesem neuen Image erstellen können. Geben Sie den folgenden Befehl im Terminal oder in der Windows-Eingabeaufforderung ein:

      $ docker commit $(docker ps -lq) hellogo

      Der Befehl docker ps -lq liefert die ID des zuletzt ausgeführten Containers. Dieser Befehl weist den Container, in dem sich das Go-Beispielprogramm befindet, einem neuen Docker-Image namens hellogo zu. Mit dem folgenden Befehl lässt sich dies überprüfen:

      $ docker images

       REPOSITORY TAG IMAGE ID CREATED SIZE hellogo latest 2c1d28ef93cb About a minute ago 723MB

      Führen Sie nun das Go-Beispielprogramm über das neu erstellte hellogo-Docker-Image aus:

      $ docker run hellogo hello

       Hello, Go examples!

      Wenn Sie diese Ausgabe sehen, wurde Ihr Go-Programm korrekt ausgeführt.

      Manchmal möchten Sie Ihr Programm vielleicht in einem »Wegwerfcontainer« ausführen (zum Beispiel um nur sicherzustellen, dass das Programm überhaupt läuft). Dazu können Sie folgenden Befehl verwenden:

      $ docker run --rm golang sh -c "go get

       github.com/golang/example/hello /… && exec hello"

       Hello, Go examples!

      Dieser Befehl führt einen Golang-Container aus, ruft das Go-Beispielprogramm ab und nutzt die Shell (sh) zum Ausführen (exec) des hello-Programms.

      Bei Bedarf können Sie Ihr Go-Programm auch mit einer spezifischen Version von Go ausführen lassen. Der folgende Befehl führt das Go-Beispielprogramm in Version 1.5 von Go in einem Wegwerfcontainer aus:

      $ docker run --rm golang:1.5 sh -c "go get

       github.com/golang/example/hello /… && exec hello"

       Unable to find image 'golang:1.5' locally 1.5: Pulling from library/golang 357ea8c3d80b: Pull complete Status: Downloaded newer image for golang:1.5 Hello, Go examples!