Heim > Backend-Entwicklung > Golang > Warum kann ich in Go keine Variable außerhalb einer Funktion deklarieren?

Warum kann ich in Go keine Variable außerhalb einer Funktion deklarieren?

Susan Sarandon
Freigeben: 2024-11-29 20:00:15
Original
959 Leute haben es durchsucht

Why Can't I Declare a Variable Outside a Function in Go?

Nicht-Deklarationsanweisung außerhalb des Funktionskörpers in Go

In Go löst eine Nicht-Deklarationsanweisung außerhalb eines Funktionskörpers einen Fehler aus. Dies wird im Codeausschnitt beobachtet:

package apitest

import (
    "fmt"
)

test := "This is a test."

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)
}
Nach dem Login kopieren

Dieser Code versucht, eine Variable außerhalb der Funktion main() zu deklarieren und ihr einen Wert zuzuweisen. Allerdings erlaubt Go keine Nicht-Deklarationsanweisungen außerhalb von Funktionskörpern.

Idiomatischer Ansatz

Die idiomatische Go-Methode, um eine Variable zu deklarieren, auf die von überall innerhalb eines Pakets aus zugegriffen werden kann nicht unbedingt eine Konstante ist:

var test = "This is a test"
Nach dem Login kopieren
  • Die Verwendung des Schlüsselworts var deklariert eine Variable mit dem Namen Test.
  • Der Kleinbuchstabe „t“ zeigt an, dass die Variable nur innerhalb des Pakets sichtbar ist (nicht exportiert).
  • Der Zuweisungsoperator = initialisiert die Variable mit dem Wert „Dies ist ein Test“.

Variable Eigenschaften

Der Test Variable:

  • Ist von überall im apitest-Paket aus zugänglich.
  • Kann neu zugewiesen und somit veränderbar gemacht werden.

Zusätzliche Hinweise

  • Anstelle von var test = „Dies ist ein Test“ könnten Sie var test schreiben string = „Dies ist ein Test“, wird aber nicht als idiomatisches Go angesehen.
  • Go bietet auch die Init-Funktion für komplexe Paketinitialisierungen oder das Einrichten des Paketstatus. Init wird vor Hauptläufen aufgerufen.

Das obige ist der detaillierte Inhalt vonWarum kann ich in Go keine Variable außerhalb einer Funktion deklarieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage