Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich in Go die Fehlermeldung „Non-Declaration Statement Outside Function Body'?

Warum erhalte ich in Go die Fehlermeldung „Non-Declaration Statement Outside Function Body'?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-13 10:41:02964Durchsuche

Why Do I Get

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

In Go führt die Deklaration einer Variablen außerhalb eines Funktionskörpers normalerweise zum „Nicht-Deklarieren“. Fehler „-declaration-Anweisung außerhalb des Funktionskörpers“. Dies liegt daran, dass Go Scoping-Regeln strikt durchsetzt und erfordert, dass Variablen innerhalb des entsprechenden Blocks (z. B. innerhalb einer Funktion) deklariert werden.

Idiomatische globale Variablendeklaration

Zu erstellen Eine global zugängliche Variable, die veränderbar, aber keine Konstante ist. Die Syntax lautet:

var test = "This is a test"
  • Die Variable Das Schlüsselwort wird für die Variablendeklaration verwendet.
  • Der Name der Variablen (in diesem Fall Test) sollte mit einem Kleinbuchstaben beginnen, um ihre Sichtbarkeit innerhalb des Pakets (nicht exportiert) anzuzeigen.
  • Das =-Zeichen weist dem einen Wert zu Variable.

Beispiel:

package apitest

import (
    "fmt"
)

var test = "This is a test" // Globally accessible variable

func main() {
    fmt.Println(test)
    test = "Another value"
    fmt.Println(test)
}

Erweiterte Erklärung

  • Variableninitialisierung in Funktionen: Innerhalb von Funktionen können Sie eine Variable deklarieren und ihr später mithilfe von einen Wert zuweisen := Operator. Allerdings ist := nicht für globale Variablendeklarationen gültig.
  • Typinferenz: Go unterstützt Typinferenz, bei der der Compiler den Typ einer Variablen anhand ihres Anfangswerts bestimmen kann.
  • Variablen auf Paketebene ändern:Variablen auf Paketebene, einschließlich global zugänglicher Variablen, können innerhalb von Funktionen unter Verwendung desselben Variablennamens geändert werden (z. B. changeTest(newVal) im bereitgestellten Code-Snippet).
  • Init-Funktion: Für die komplexe Paketinitialisierung stellt Go die Init-Funktion zur Verfügung, die automatisch vor main() ausgeführt wird. Es kann verwendet werden, um Anfangszustände für das Paket einzurichten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Go die Fehlermeldung „Non-Declaration Statement Outside Function Body'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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