Anleitung für Anfänger in der Go-Programmierung

GolangGolangBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir offiziell mit dem Lernen der Go-Programmierung beginnen. Wir werden grundlegende Konzepte behandeln und ein einfaches Go-Programm selbst erstellen.

Wissenspunkte:

  • Standard-Ausgabebefehl
  • Code-Struktur
  • Ausführen eines Programms
  • Häufige Funktionen im fmt-Paket

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/FunctionsandControlFlowGroup(["Functions and Control Flow"]) go(("Golang")) -.-> go/CommandLineandEnvironmentGroup(["Command Line and Environment"]) go(("Golang")) -.-> go/NetworkingGroup(["Networking"]) go/FunctionsandControlFlowGroup -.-> go/if_else("If Else") go/FunctionsandControlFlowGroup -.-> go/functions("Functions") go/CommandLineandEnvironmentGroup -.-> go/command_line("Command Line") go/NetworkingGroup -.-> go/processes("Processes") go/NetworkingGroup -.-> go/exit("Exit") subgraph Lab Skills go/if_else -.-> lab-149062{{"Anleitung für Anfänger in der Go-Programmierung"}} go/functions -.-> lab-149062{{"Anleitung für Anfänger in der Go-Programmierung"}} go/command_line -.-> lab-149062{{"Anleitung für Anfänger in der Go-Programmierung"}} go/processes -.-> lab-149062{{"Anleitung für Anfänger in der Go-Programmierung"}} go/exit -.-> lab-149062{{"Anleitung für Anfänger in der Go-Programmierung"}} end

💡 Erstes Go-Programm

Beginnen wir damit, unser erstes Go-Programm zu erstellen. Klicken Sie mit der rechten Maustaste auf die Seitenleiste, um in Ihrem Projektordner eine neue Datei namens helloWorld.go zu erstellen.

Bildbeschreibung

Hinweis: Wir empfehlen die Verwendung der WebIDE (ähnlich VS Code) für eine bessere Erfahrung. Erfahren Sie mehr über die Anleitung zur Verwendung der WebIDE hier.

Sie können auch die touch-Befehl verwenden, um eine neue Datei zu erstellen:

touch helloWorld.go

Öffnen Sie jetzt die Datei und schreiben Sie folgenden Code:

package main

import "fmt"

func main() {
    fmt.Println("hello, world")
}

Die erste Zeile, package main, gibt an, dass dieses Programm zur main-Paket gehört. Die zweite Zeile, import "fmt", importiert das Go-fmt-Paket, das uns ermöglicht, Text-Eingabe und -Ausgabe zu formatieren. Die main-Funktion ist der Einstiegspunkt des Programms, und darin wird fmt.Println("hello, world") hello, world in der Konsole ausgeben.

Um das Programm auszuführen, öffnen Sie die Konsole und geben Sie folgenden Befehl ein:

go run helloWorld.go

Wenn alles korrekt eingerichtet ist, sollten Sie die folgende Ausgabe sehen:

hello, world

Dies ist ein einfaches "Hello World"-Programm. Lassen Sie uns jetzt den Code und die Operationen Zeile für Zeile erklären.

Programmstruktur und Syntax

In Go ist ein Paket (package) die grundlegende Einheit der Codeverwaltung. Jedes Go-Programm beginnt mit einer package-Deklaration. In diesem Fall teilt package main Go mit, dass der Code Teil des Hauptprogramms ist, das ausgeführt werden soll.

Die Anweisung import "fmt" importiert das Go-fmt-Paket, das für Ein- und Ausgabe verwendet wird. Go verfügt über eine umfangreiche Standardbibliothek, die es uns ermöglicht, viele Aufgaben einfach auszuführen. Das fmt-Paket wird verwendet, um Textausgaben zu formatieren, wie wir im vorherigen Schritt gesehen haben.

Als nächstes definieren wir die main-Funktion:

func main() {
}

In Go müssen alle Funktionen mit func beginnen. Beachten Sie, dass die öffnende geschweifte Klammer { am Ende der Zeile platziert wird. Dies ist eine Go-Konvention und unterscheidet sich von anderen Programmiersprachen, die die öffnende Klammer möglicherweise in einer neuen Zeile platzieren.

Wenn Sie versehentlich die öffnende Klammer in einer neuen Zeile platzieren, wie hier:

func main()
{
}

Erhalten Sie einen Kompilierungsfehler:

$ go run helloWorld.go
### command-line-arguments
./helloWorld.go:7:1: syntax error: unexpected semicolon or newline before {

Dies liegt daran, dass Go erwartet, dass die öffnende Klammer direkt in derselben Zeile steht.

Die Schlüsselanweisung im Programm ist fmt.Println("hello, world"), die die Println-Funktion des fmt-Pakets aufruft, um die Zeichenkette "hello, world" in der Konsole auszugeben. Diese Funktion fügt automatisch ein Zeilenumbruchzeichen am Ende der Zeichenkette hinzu.

Ausführen des Programms

Go ist eine kompilierte Programmiersprache. Wenn wir den Befehl go run verwenden, kompiliert Go zunächst den Quellcode und führt dann das daraus resultierende ausführbare Programm aus. Der Befehl:

go run helloWorld.go

entspricht dem Ausführen dieser beiden Befehle:

## Kompiliere das Programm
go build helloWorld.go

## Führe das kompilierte Programm aus
./helloWorld

Um ein neues Beispiel zu testen, ändern wir das Programm, um andere Gophers zu begrüßen. Erstellen Sie eine neue Datei namens helloGopher.go und ersetzen Sie den Code durch:

Sie können eine neue Datei mit dem touch-Befehl erstellen:

touch helloGopher.go
package main

import "fmt"

func main() {
 fmt.Println("hello Gopher.")
 fmt.Println("hello Gopher.")
 fmt.Println("hello Gopher.")
}

Anstatt go run zu verwenden, verwenden wir jetzt go build, um das Programm zu kompilieren, und führen dann die generierte ausführbare Datei aus:

## Kompiliere das Programm
go build helloGopher.go

## Führe die kompilierte ausführbare Datei aus
./helloGopher

Dies wird folgende Ausgabe erzeugen:

hello Gopher.
hello Gopher.
hello Gopher.

Häufige Funktionen im fmt-Paket

In Schritt 1 haben wir die Println()-Funktion aus dem fmt-Paket verwendet, um Ausgaben zu drucken. Das fmt-Paket ist eines der am häufigsten verwendeten Pakete in Go und bietet mehrere Funktionen zur Formatierung von Ausgaben.

Hier sind drei häufige Ausgabefunktionen:

  1. fmt.Print() – Gibt den Text ohne Zeilenumbruch aus.
  2. fmt.Println() – Gibt den Text mit einem Zeilenumbruch aus.
  3. fmt.Printf() – Gibt formatierten Text aus.

Lassen Sie uns diese Funktionen genauer untersuchen. Erstellen Sie eine neue Datei namens fmt.go und geben Sie folgenden Code ein:

package main

import "fmt"

func main() {
    // Standard output
    fmt.Print("hello")
    fmt.Print("world")

    // Println adds a newline character after the standard output
    fmt.Println()
    fmt.Println("labex")

    // Printf provides formatted output
    fmt.Printf("%s\n", "London")
}

Führen Sie das Programm mit dem go run-Befehl aus:

go run fmt.go

Erklärung:

  • fmt.Print("hello") und fmt.Print("world") geben den Text in derselben Zeile aus, da Print keinen Zeilenumbruch hinzufügt.
  • fmt.Println() gibt einen Zeilenumbruch aus, um die Zeilen zu trennen.
  • fmt.Printf("%s\n", "London") formatiert die Ausgabe unter Verwendung des Platzhalters %s für die Zeichenkette "London".

Hier ist ein schneller Vergleich der Funktionen:

Funktion Standardausgabe Zeilenumbruch Formatierte Ausgabe
Print × ×
Println ×
Printf × ×

Das fmt-Paket bietet auch andere Funktionen zum Lesen von Eingaben, zur Fehlerbehandlung und mehr, die in späteren Übungen behandelt werden.

Zusammenfassung

In diesem Lab haben wir unser erstes Go-Programm geschrieben, uns mit der Struktur von Go-Programmen vertraut gemacht und die grundlegenden Funktionen des fmt-Pakets für die Ausgabe kennengelernt. Wir haben auch das Ausführen von Go-Programmen geübt und den Unterschied zwischen Print, Println und Printf gelernt. Sie sollten nun ein grundlegendes Verständnis der Go-Syntax und der Programmausführung haben.