Deklarieren und Verwenden von Variablen

Abgeschlossen

Beginnen wir dieses Modul mit dem Deklarieren und Verwenden von Variablen in Go. Es gibt verschiedene Möglichkeiten, Variablen zu deklarieren. Wir sehen uns die einzelnen Optionen an, damit Sie bestimmen können, welche Option am besten zu Ihren Anforderungen oder Ihrem Stil passt. Bei der Vorstellung der Kernkonzepte für Variablen gehen wir auf einige Go-spezifische Aspekte ein, die in anderen Programmiersprachen in der Regel keine Rolle spielen.

Wir fügen Codeausschnitte zu diesem Abschnitt hinzu, die Sie in Visual Studio Code oder in Go Playground ausführen können.

Deklarieren von Variablen

Zum Deklarieren von Variablen müssen Sie das Stichwort var verwenden:

var firstName string

Die obige Anweisung deklariert eine Variable mit dem Namen firstName vom Typ string. Die Datentypen werden im nächsten Abschnitt erläutert. Dieses Beispiel zeigt die einfachste Möglichkeit, eine Variable zu deklarieren. Wenn Sie eine weitere Variable deklarieren möchten, fügen Sie der letzten Variablen einfach eine ähnliche Anweisung hinzu. Sie können mehr als eine Variable in einer einzelnen Zeile deklarieren, wenn die Variablen vom selben Typ sind:

var firstName, lastName string

Wenn Sie ein Komma (,) nach einem Variablennamen einfügen, zeigen Sie, dass Sie im Begriff sind, eine andere Variable zu deklarieren. In diesem Fall deklariert die obige Anweisung zwei Variablen mit den Namen firstName und lastName vom Typ string. Wenn Sie eine dritte Variable vom Typ int hinzufügen möchten, sieht der Code wie folgt aus:

var firstName, lastName string
var age int

Ebenso können Sie die obige Anweisung schreiben, indem Sie Klammern nach dem Stichwort var einfügen, d. h. indem Sie so vorgehen als würden Sie über einen dedizierten Block zum Deklarieren von Variablen verfügen. Beispiel:

var (
    firstName, lastName string
    age int
)

Initialisieren der Variablen

Bisher haben Sie nur Variablen deklariert, aber in bestimmten Situationen benötigen Sie Variablen, die über einen Anfangswert verfügen. In Go haben Sie verschiedene Möglichkeiten, Variablen zu initialisieren. Wenn Sie vom oben genannten Beispiel ausgehen, können Sie die einzelnen Variablen mithilfe des folgenden Codes initialisieren:

var (
    firstName string = "John"
    lastName  string = "Doe"
    age       int    = 32
)

Wenn Sie sich dazu entschließen, eine Variable zu initialisieren, müssen Sie nicht ihren Typ angeben, da Go den Typ ableitet, wenn Sie die Variable mit einem Wert initialisieren. Sie können beispielsweise wie folgt Variablen deklarieren und initialisieren:

var (
    firstName = "John"
    lastName  = "Doe"
    age       = 32
)

Go leitet dann ab, dass die Variablen firstName und lastName vom Typ string sind und die Variable age vom Typ int ist.

Verschiedene Methoden zum Initialisieren von Variablen

In Go können Sie Variablen in einer einzelnen Zeile deklarieren und initialisieren. Trennen Sie die Variablennamen durch Kommas voneinander ab, und wiederholen Sie dies für jeden Wert wie folgt (in derselben Reihenfolge):

var (
    firstName, lastName, age = "John", "Doe", 32
)

Es gibt eine weitere Möglichkeit, Variablen zu deklarieren und zu initialisieren. Diese Methode wird in Go am häufigsten verwendet. Unser Beispiel könnte auch wie folgt aussehen:

package main

import "fmt"

func main() {
    firstName, lastName := "John", "Doe"
    age := 32
    fmt.Println(firstName, lastName, age)
}

Hinweis

Beachten Sie die Anweisung import "fmt". Wir verwenden das Schlüsselwort import, um den Inhalt eines Pakets in den Gültigkeitsbereich zu bringen. Wir importieren das Paket „fmt“, um die Methode Println in unserem Code verwenden zu können. Dieses Schlüsselwort wird in einer späteren Lerneinheit ausführlicher behandelt.

Führen Sie den obigen Code aus, um zu überprüfen, ob diese Methode zum Deklarieren und Initialisieren von Variablen funktioniert.

Hinweis: Hier müssen Sie ein Doppelpunkt-Gleichheitszeichen (:=) und den dazugehörigen Wert einfügen, nachdem Sie den Variablennamen definiert haben. Wenn Sie das Doppelpunkt-Gleichheitszeichen verwenden, muss die deklarierte Variable neu sein. Wenn Sie ein Doppelpunkt-Gleichheitszeichen verwenden und die Variable bereits deklariert wurde, wird das Programm nicht kompiliert. Fügen Sie das Alter als Konstante hinzu (siehe nächster Abschnitt), verwenden Sie jedoch das Gleichheitszeichen mit Doppelpunkt (:=), und probieren Sie es aus.

Sie können das Doppelpunkt-Gleichheitszeichen nur innerhalb einer Funktion verwenden. Wenn Sie Variablen außerhalb einer Funktion deklarieren, müssen Sie dafür das Stichwort var verwenden. Es ist kein Problem, wenn Sie sich nicht mit Funktionen auskennen. In einer späteren Einheit erhalten Sie Informationen zu Funktionen.

Deklarieren von Konstanten

Manchmal benötigen Sie statische Werte in Ihrem Code, die als Konstanten bezeichnet werden. Go unterstützt die Verwendung von Konstanten. Das Stichwort zum Deklarieren einer Konstante lautet const.

Beispielsweise können Sie Konstanten wie folgt deklarieren:

const HTTPStatusOK = 200

Wie bei Variablen wird der Typ der Konstante von dem ihr zugewiesenen Wert abgeleitet. In Go werden Konstantennamen in der Regel in gemischter Groß- und Kleinschreibung oder in Großbuchstaben geschrieben.

Wenn Sie mehrere Konstanten in einem Block deklarieren müssen, können Sie dies wie folgt tun:

const (
    StatusOK              = 0
    StatusConnectionReset = 1
    StatusOtherError      = 2
)

Hinweis

Go hat ein interessantes Konzept, das im Zusammenhang mit Konstanten steht, die iota genannt werden. Dieses wird allerdings in diesem Modul nicht abgedeckt. Weitere Informationen hierzu finden Sie im Go-Wiki auf GitHub. Denken Sie nur daran, dass iota ein Stichwort ist, das Go verwendet, um Konstantendefinitionen zu vereinfachen, wenn die Werte sequenziell sind.

Zwar gibt es einige Ähnlichkeiten zwischen Konstanten und Variablen, aber es gibt auch einige wichtige Unterschiede. Beispielsweise können Sie Konstanten deklarieren, ohne sie zu verwenden, und Sie erhalten keine Fehlermeldung. Sie können das Doppelpunkt-Gleichheitszeichen nicht verwenden, um Konstanten zu deklarieren. Sollten Sie dies trotzdem tun, erhalten Sie eine Fehlermeldung von Go.

Go löst einen Fehler aus, wenn Sie Variablen zwar deklarieren, aber nicht verwenden

Es gibt etwas Grundlegendes, das Sie in Go beachten müssen. Wenn Sie eine Variable deklarieren und dann nicht verwenden, gibt Go nicht wie bei anderen Programmiersprachen nur eine Warnungsmeldung, sondern eine Fehlermeldung aus.

Gehen Sie beispielsweise zurück zu einem unserer vorherigen Beispiele, und entfernen Sie den Aufruf fmt.Println:

func main() {
    firstName, lastName := "John", "Doe"
    age := 32
}

Wenn Sie diesen Code in Visual Studio Code oder Go Playground ausführen, werden in den Zeilen, in denen Sie die Variablen deklarieren, Fehler angezeigt. Die Fehlermeldungen lauten wie folgt:

./main.go:4:2: firstName declared but not used
./main.go:4:13: lastName declared but not used
./main.go:5:2: age declared but not used

Denken Sie daran, dass Sie jede Variable, die Sie in Go deklarieren, auch verwenden müssen.