Struktur der Go-Sprache

Bevor wir beginnen, die grundlegenden Bausteine der Programmiersprache Go zu lernen, wollen wir zunächst die Struktur des einfachsten Go-Programms verstehen.


Go-Hallo-Welt-Beispiel

Die grundlegenden Komponenten der Go-Sprache umfassen die folgenden Teile:

  • Paketdeklaration
  • Pakete importieren
  • Funktion
  • Variable
  • Anweisung & Ausdruck
  • Kommentare

Sehen wir uns als Nächstes ein einfaches Codefragment an, das "Hello World!" ausgibt:

Beispiel

package main

import "fmt"

func main() {
   /* Dies ist mein erstes einfaches Programm */
   fmt.Println("Hello, World!")
}

Sehen wir uns die verschiedenen Teile des obigen Programms an:

  1. Erste Codezeilepackage mainDefiniert den Paketnamen. In der ersten Nicht-Kommentarzeile der Quelldatei müssen Sie angeben, zu welchem Paket diese Datei gehört, z. B. package main. package main kennzeichnet ein unabhängig ausführbares Programm, und jede Go-Anwendung enthält ein Paket namens main.

  2. Nächste Zeileimport "fmt"Teilt dem Go-Compiler mit, dass dieses Programm das Paket fmt verwenden muss (seine Funktionen oder andere Elemente); das Paket fmt implementiert Funktionen für formatierte E/A (Ein-/Ausgabe).

  3. Nächste Zeilefunc main()Ist die Funktion, in der die Ausführung des Programms beginnt. Die main-Funktion ist in jedem ausführbaren Programm erforderlich. Im Allgemeinen ist sie die erste Funktion, die nach dem Start ausgeführt wird (falls es eine init()-Funktion gibt, wird diese zuerst ausgeführt).

  4. Die nächste Zeile /*...*/ ist ein Kommentar, der bei der Programmausführung ignoriert wird. Einzeilige Kommentare sind die häufigste Form von Kommentaren; einzeilige Kommentare, die mit // beginnen, können überall verwendet werden. Mehrzeilige Kommentare, auch Blockkommentare genannt, beginnen alle mit /* und enden mit */ und können nicht verschachtelt werden. Mehrzeilige Kommentare werden im Allgemeinen für Paketdokumentationen oder zum Auskommentieren von Codeblöcken verwendet.

  5. Nächste Zeilefmt.Println(...)Kann den String auf der Konsole ausgeben und fügt automatisch ein Zeilenumbruchzeichen \n am Ende hinzu.
    Die Verwendung von fmt.Print("hello, world\n") liefert dasselbe Ergebnis.
    Die beiden Funktionen Print und Println unterstützen auch die Verwendung von Variablen, z. B. fmt.Println(arr). Wenn nicht ausdrücklich anders angegeben, geben sie die Variable arr im Standard-Ausgabeformat auf der Konsole aus.

  6. Wenn ein Bezeichner (einschließlich Konstanten, Variablen, Typen, Funktionsnamen, Strukturfelder usw.) mit einem Großbuchstaben beginnt, wie Group1, dann können Objekte mit dieser Form des Bezeichners von Code in externen Paketen verwendet werden (Client-Programme müssen dieses Paket zuerst importieren); dies wird als Exportieren bezeichnet (wie public in objektorientierten Sprachen); wenn der Bezeichner mit einem Kleinbuchstaben beginnt, ist er für Pakete außerhalb unsichtbar, aber innerhalb des gesamten Pakets sichtbar und verwendbar (wie protected in objektorientierten Sprachen).


Go-Programm ausführen

Schauen wir uns an, wie man Go-Code schreibt und ausführt. Die Schritte sind wie folgt:

  1. Öffnen Sie einen Editor wie Sublime2 und fügen Sie den obigen Code in den Editor ein.

  2. Speichern Sie den obigen Code alshello.go

  3. Öffnen Sie die Kommandozeile und navigieren Sie zu dem Verzeichnis, in dem die Programmdatei gespeichert ist.

  4. Geben Sie den Befehlgo run hello.goein und drücken Sie die Eingabetaste, um den Code auszuführen.

  5. Wenn Sie dies korrekt gemacht haben, sehen Sie auf dem Bildschirm"Hello World!"die Ausgabe des Textes.

    $ go run hello.go
    Hello, World!
    
  6. Wir können auch den Befehlgo buildverwenden, um die Binärdatei zu erzeugen:

    $ go build hello.go 
    $ ls
    hello    hello.go
    $ ./hello 
    Hello, World!

Hinweis

Es ist zu beachten, dass{es nicht in eine einzelne Zeile gesetzt werden kann, sodass der folgende Code zur Laufzeit einen Fehler erzeugt:

Beispiel

package main

import "fmt"

func main()  
{  // Fehler, { darf nicht in einer separaten Zeile stehen
    fmt.Println("Hello, World!")
}
Weitere Erweiterungen