Go 1.4 könnte Code-Generierungs-Tool bekommen

Derzeit liegt den Go-Entwicklern ein Vorschlag für ein Code-Generierungs-Tool vor, dass vorbereitende Maßnahmen für den Befehl "go build" automatisieren soll.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Setzt man den "go build"-Befehl für die Konstruktion von Go-Programmen ein, ist in einigen Fällen Vorverarbeitung nötig, die der Befehl nicht abdeckt. Deshalb gibt es für Googles Programmiersprache Go einen Vorschlag, dessen Umsetzung beim Automatisieren solcher Schritte helfen soll. Der angedachte Unterbefehl go generate und die zugehörigen Direktiven sollen allerdings keine Konkurrenz zu Build-Systemen wie make werden, da zum Beispiel keine Abhängigkeitsanalyse angedacht ist.

Konkreter sollen nach Aufruf von go generate die Quelldateien nach den erwähnten Direktiven durchsucht und für jede ein Generator ausgeführt werden, der eine neue Go-Quelldatei erstellt. Das Tool soll laut Plan zudem besondere Build-Tags setzen, damit sich die Dateien zwar durchsuchen lassen, im Build-Schritt aber ignoriert werden. Die Generatordirektiven soll go generate nacheinander und nicht parallel abarbeiten – in der Reihenfolge, wie sie in der Quelle auftauchen. Als Empfehlung für die Syntax steht ein mit // eingeleiteter Kommentar im Raum, der dann nach dem Muster //go:generate command arg... über den zu nutzenden Generator und dessen Argumente informiert.

Zu den Vorverarbeitungsschritten, die "go generate" abdecken soll, zählen etwa das Generieren von .go-Dateien aus .y-Dateien (Yacc Grammar) und das Einbetten von HTML-Dateien in Go-Quellcode. Google hatte Go vor etwa fünf Jahren als C/C++-Alternative vorgestellt. Die Sprache ist unter einer BSD-ähnlichen Lizenz geschützt. (jul)