Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind Variablen in der Go-Sprache?

Was sind Variablen in der Go-Sprache?

青灯夜游
青灯夜游Original
2022-12-02 19:53:365674Durchsuche

In der Go-Sprache ist eine Variable eine Menge, deren Inhalt sich während der Ausführung des Programms ändern (modifizieren) kann. Eine Variable ist die Grundeinheit des Programms und stellt einen Datenspeicherplatz im Speicher dar. Der Variablenwert kann sein über den Variablennamen gefunden. Die Funktion von Variablen besteht darin, Benutzerdaten zu speichern. Es handelt sich um ein abstraktes Konzept in der Computersprache, das Berechnungsergebnisse speichern oder Werte darstellen kann.

Was sind Variablen in der Go-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

1. Übersicht

Eine Variable (Variable) ist der Betrag, den sich der Inhalt während der Ausführung des Programms ändern (modifizieren) kann; eine Variable ist die Grundeinheit des Programms und eine Darstellung eines Datenspeichers Platz im Speicher kann übergeben werden. Variablenname findet Variablenwert.

Die Funktion von Variablen besteht darin, Benutzerdaten zu speichern. Es handelt sich um ein abstraktes Konzept in der Computersprache, das Berechnungsergebnisse speichern oder Werte darstellen kann.

Variable ist der Prozess des Auffindens des Werts anhand der Kennung der Variablen. Demonstration der Speichersimulation von Variablen:

Was sind Variablen in der Go-Sprache?

2. Definition: Deklaration und Initialisierung

Um eine Variable zu definieren, verwenden Sie das Schlüsselwort var, und Sie müssen ihren Typ angeben, der gleichzeitig initialisiert werden kann . Wenn kein Initialisierungswert angegeben ist, verwenden Sie den Typ. Die Syntax lautet wie folgt:

// 声明变量,未初始化(默认值初始化)
var name string
// 声明变量,特定值初始化
var user string = "Hank"

Variablen in der Go-Sprache müssen deklariert werden, bevor sie verwendet werden können, und undefinierte Variablen können nicht direkt verwendet werden.

3. Typ-Standardwert (Nullwert)

Der Typ-Standardwert der Go-Sprache ist wie folgt: Der Standardwert von Ganzzahl- und Gleitkommavariablen ist 0. Der Standardwert einer String-Variablen ist der leere String. Boolesche Variablen sind standardmäßig bool. Der Standardwert für Slices, Funktionen und Zeigervariablen ist Null.

4. Starke Typisierung

Die Go-Sprache ist eine stark typisierte Sprache, Variablen müssen Typen haben und Variablen können nur bestimmte Datentypen speichern. [Verwandte Empfehlungen: Go-Video-Tutorial]

5. Typableitung

Wenn beim Definieren einer Variablen ein Anfangswert angegeben wird, kann die Typdefinition weggelassen werden und die Go-Sprache kann den Typ daraus ableiten die Daten selbst. Die Syntax lautet:

// 声明变量,特定值初始化,类型推导出user为字符串string型
var user = "Hank"

6. Kurze Deklaration (Definition)

Um die Definition von Variablen zu vereinfachen, verwenden Sie den Operator := mit Typableitung, um die Definition von Variablen schnell abzuschließen :

user := "hank"

7. Verwenden Sie var oder :=, um mehrere Variablen gleichzeitig zu definieren. Die Syntax lautet: var

var (
  v1 = 42
  v2 = "hank"
  )
也可以
var v1, v2 = 42, "hank"

:=

var

v1, v2 := 42, "hank"

:=

var (
  v1 int
  v2 int
)
// 批量赋值
v1, v2 = 42, 1024

Es wird empfohlen, die Syntax des var()-Deklarationsblocks zu verwenden, da die Codepflege einfach ist.

8. StapelzuweisungWeisen Sie mehreren Variablen gleichzeitig Werte zu. (Ähnlich wie bei der Kurzdefinition. v1, v2, v3 := 42, „hank“, false) Weisen Sie ihnen nach der Definition stapelweise Werte zu. Es gibt keine Definitionsfunktion! Die Syntax lautet:

func main() {
  var (
    v1 int
    v2 int
  )
  // 调用函数,接收其返回值
  v1, v2 = getData()
}
// 返回两个值的函数
func getData() (int, int) {
  // 返回了两个值(假设42为最小值,1024为最大值)
  return 42, 1024
}

Diese Syntax wird normalerweise bei der Stapelrückgabe einer Funktion verwendet, um mehrere Rückgabewerte gleichzeitig zu erhalten. Die Syntax lautet:

var (
  v1 = 42
  v2 = 1024
)
// 交换
v1, v2 = v2, v1

Es ist sehr praktisch, die Werte auszutauschen ​​von zwei Variablen:

func main() {
  var (
    v int
  )
  // 调用函数,仅仅需要第二个返回值,第一,三使用匿名变量占位
  _, v, _ = getData()
}
// 返回两个值的函数
func getData() (int, int, int) {
  // 返回3个值
  return 42, 1024, 2012
}

Nach der Ausführung, v1==1024, v2==42

9, anonyme Variablen Variablen mit der Kennung _ (Unterstrich) sind anonyme Variablen, die vom System reserviert sind. Nach der Zuweisung werden sie sofort freigegeben und als anonyme Variable bezeichnet. Seine Funktion ist ein Variablenplatzhalter, der seiner Variablen eine Wertestruktur zuweist. Wird normalerweise bei der Stapelzuweisung verwendet. Wenn eine Funktion beispielsweise mehrere Werte zurückgibt und wir nur einige davon benötigen, verwenden Sie _, um den Platz zu belegen, wenn dieser nicht benötigt wird:

// 全局(函数外)定义3个变量
var (
  v1 = 1
  v2 = 2
  v3 = 3
)
func main() {

  // main{}函数块,定义2个变量
  var (
    v2 = 22
    v3 = 33
  )
  fmt.Println(v1, v2, v3)
  // 结果 1 22 33

  {
    // main()函数内部{}块,定义1个变量
    var (
      v3 = 333
    )
    fmt.Println(v1, v2, v3)
    // 结果 1 22 333
  }
}

Variablen im Go-Sprache ist eine Blockfunktionsdomäne. Blöcke beziehen sich auf Codesegmente, die mit {} definiert wurden, einschließlich Funktionen, if/switch/for-Anweisungen oder unabhängige {} sind alles Blöcke. Innerhalb eines Blocks definierte Variablen sind nur innerhalb dieses Blocks verfügbar. Definition bezieht sich auf Variablen, die durch var oder := definiert sind. Der Umfang der Go-Sprache ist kaskadierend, was bedeutet, dass der innere Block direkt auf die Variablen des äußeren Blocks zugreifen kann, sofern der innere Block keine äußere Variable mit demselben Namen definiert. Demonstration unten:

for i := 0; i < 10; i++ {
  fmt.Println(i)
}
fmt.Println(i)
// 会提示变量i未定义, undefined: i

上面代码中: 在main()中,v2,v3被重新定义,则在main()中,v1是外部,而v2, v3是main函数局部的。 在main()内部的{}中,v3被重新定义,则在main()内部的{}中,v1是外部,而v2是main()定义的, v3是main()内部{}定义的的。

变量可以沿内部作用域向外部作用域查找变量的过程。

带有{}的语句,其中的变量也仅仅在内部有效,例如for,if,switch等,演示:

for i := 0; i < 10; i++ {
  fmt.Println(i)
}
fmt.Println(i)
// 会提示变量i未定义, undefined: i

注意i,是通过短声明在for内部定义的变量,仅仅在for内部有意义。

互不嵌套的{}见作用域不可见,不可互相访问。

func main() {
  {
    v := 42
  }
  {
    fmt.Println(v)
    // 会提示变量v未定义, undefined: v
  }
}

更多编程相关知识,请访问:编程教学!!

Das obige ist der detaillierte Inhalt vonWas sind Variablen in der Go-Sprache?. 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