Direkt zum Hauptinhalt springen
eLearner.app
Modul 1 · Lektion 1 von 51/50 im Kurs~10 min
Lektionen des Moduls (1/5)

Variablen und Typen

In Go hat jede Variable einen statischen Typ, der dem Compiler bekannt ist: einmal deklariert, kann eine Variable ihren Typ nicht ändern. Diese Starrheit – ganz anders von JavaScript oder Python – ist der Preis, den Sie zahlen, um Kompilierungszeit zu erhalten Fehler statt Laufzeitfehler, kleine Binärdateien und vorhersehbar Leistung.

Zwei Formen der Deklaration

var mit explizitem Typ

Go
var name string = "Ada"
var age int = 36
var active bool

Wenn Sie den Wert weglassen (wie in var active bool), erhält die Variable den Nullwert seines Typs – darauf kommen wir in der nächsten Lektion zurück.

Kurzdeklaration :=

Innerhalb einer Funktion können Sie := verwenden, das den Typ aus ableitet Ausdruck auf der rechten Seite. Es ist die idiomatische Form und die, die Sie verwenden werden 90 % der Zeit:

Go
name := "Ada"   // string
age := 36        // int
pi := 3.14       // float64
active := true   // bool

Die Grundtypen, die Sie gleich treffen werden

Geben Sieein BeispielNotizen
int42Größe hängt von der CPU ab (32 oder 64 Bit)
float643.14Standard für Dezimalliterale
string"Ada"UTF-8, unveränderlich
booltrue, falsekein „Wahrheit“, nur reines bool
rune420Alias ​​von 421, stellt einen Unicode-Codepunkt dar
422423Alias ​​von 424

Es gibt auch int8/16/32/64, uint8/16/32/64, float32 und complex64/128 für den Fall, dass Sie genaue Größen benötigen (Binäranalyse, Interop usw.).

Mehrere Deklarationen

Sie können mehrere Variablen mit einem var-Block oder einem Plural-:= deklarieren:

Go
var (
    name   string = "Ada"
    age    int    = 36
    active bool
)

x, y := 10, 20
a, b, c := "a", 2, true   // different types: no problem

Variablen deklariert, aber nicht verwendet

Go ist streng: Eine Variable, die deklariert und nie verwendet wird, ist eine Kompilierung Fehler, keine Warnung. Dasselbe gilt auch für ungenutzte imports.

Go
func main() {
    x := 42
    // error: x declared and not used
}

Um die Regel vorübergehend außer Kraft zu setzen, verwenden Sie _ (leerer Bezeichner):

Go
_ = x

Du bist dran

Übung#go.m1.l1.e1
Versuche: 0Wird geladen…

Verwenden Sie var, um einen Variablennamen vom Typ string mit dem Wert „Ada“ zu deklarieren und auszugeben.

Editor wird geladen…
Hinweis anzeigen

Die Langform ist `var <name> <type> = <value>`.

Lösung nach 3 Versuchen verfügbar

Übung#go.m1.l1.e2
Versuche: 0Wird geladen…

Verwenden Sie in einer einzelnen Zeile :=, um dem Alter 36 und der Stadt „Roma“ zuzuweisen, und drucken Sie dann beide aus.

Editor wird geladen…
Hinweis anzeigen

Sie können mehrere Variablen gleichzeitig zuweisen: `a, b := 1, "due"`.

Lösung nach 3 Versuchen verfügbar

Quiz#go.m1.l1.e3
Bereit

Welche dieser Deklarationen erzeugt einen Kompilierungsfehler, wenn sie AUSSERHALB einer Funktion platziert wird?

Go
// (a)
var name string = "Ada"

// (b)
age := 36

// (c)
const PI = 3.14
Antwortoptionen

Zusammenfassung

– Statischer Typ, automatisch abgeleitet von := oder deklariert mit var.

  • := nur innerhalb von Funktionen; auf Paketebene nur var/const.
  • Nicht verwendete Variablen und Importe = Kompilierungsfehler: Verwenden Sie _, um sie stummzuschalten.
  • int/float64/string/bool decken 90 % der alltäglichen Fälle ab.