Tipps und Tricks zu Go

Eigener Dokumentations-Webserver

Jede Installation des Google Go Compilers enthält einen eigenen Webserver, über den die Dokumentation der Go Syntax und der Standardbibliothek abgerufen werden kann. Er kann mit dem folgenden Kommando gestartet werden:

$ godoc -http=:8000

Anschließend kann der Webserver mit einem Browser unter http://localhost:8000/ erreicht werden.

Drittsoftware installieren

Go erlaubt auf einfache Weise die Installation von Paketen, wenn diese in einem entsprechenden Format angeboten werden. Beispielsweise kann der MySQL Connector, der unter https://github.com/go-sql-driver/mysql angeboten wird, mit dem Kommand

$ go get github.com/go-sql-driver/mysql

herunter geladen werden. Dabei ist zu beachten:

Importliste automatisch aktualisieren

Goimports ist ein Ersatz für gofmt. Neben der Formatierung des Quelltextes gemäß Coding Style kann es die Liste der importierten Module automatisch aktualisieren, d.h. benötigte Module hinzufügen und nicht genutzte entfernen.

Software für Android erstellen

Go unterstützt ARM Prozessoren unter Linux, aber offizielle Unterstützung für Android gibt es derzeit nicht. Einer der offenen Punkte besteht darin, dass Android eine Shared Library (.so Datei) erwartet, diese aber mit gc noch nicht erstellt werden kann.

Die nötigen Patches und eine Anleitung gibt es bei goandroid.

Testabdeckung bestimmen

Seit Version 1.2 kann go test nicht nur automatische Tests durchführen und die Fehlermeldungen anzeigen, sondern mit der Option -cover auch die Testabdeckung bestimmen. Das ist eine Prozentzahl, die angibt, welcher Anteil des Codes beim Testen tatsächlich ausgeführt wurde. Die Ergebnisse lassen sich in einer Datei speichern und auswerten. Besonders schön ist hierbei die Ausgabe in HTML.

$ go test -cover -coverprofile=out
$ go tool cover -html=out

Das erste Kommando führt die Tests durch und speichert das Abdeckungsprofil in der Datei out. Das zweite Kommando generiert daraus eine HTML Ansicht des Sourcecodes, bei der abgedeckte Zeilen grün und nicht abgedeckte rot dargestellt werden, und öffnet den Default-Browser zur Anzeige (oder stellt die Anzeige in einem neuen Tab des laufenden Browsers dar).