Heim >Backend-Entwicklung >Golang >Der Unterschied zwischen „var' und „:=' in Golang

Der Unterschied zwischen „var' und „:=' in Golang

王林
王林Original
2019-12-24 17:11:236883Durchsuche

Der Unterschied zwischen „var' und „:=' in Golang

Es gibt viele Möglichkeiten, Variablen in der Go-Sprache zu definieren.

Die Verwendung des Schlüsselworts var ist die einfachste Möglichkeit, Variablen in Go zu definieren. Manchmal wird := auch zum Definieren von Variablen verwendet.

Variablen definieren

// 定义一个名称为“variableName”,类型为"type"的变量
// var variableName type
var number int

Variablen definieren und Werte initialisieren

// 初始化“variableName”的变量为“value”值,类型是“type”
// var variableName type = value
var number int = 10

Mehrere Variablen gleichzeitig initialisieren, auch Parallelzuweisung genannt

/*
    定义三个类型都是"type"的变量,并且分别初始化为相应的值
    vname1为v1,vname2为v2,vname3为v3
*/
// var vname1, vname2, vname3 type = v1, v2, v3
var number1, number2, number3 int = 1, 2, 3

Finden Sie die obige Definition etwas umständlich? Das spielt keine Rolle, denn die Designer der Go-Sprache haben auch herausgefunden, dass es eine Möglichkeit gibt, sie einfacher zu machen. Wir können die Typdeklaration direkt ignorieren, sodass der obige Code wie folgt aussieht:

/*    
定义三个变量,它们分别初始化为相应的值    
vname1为v1,vname2为v2,vname3为v3    
然后Go会根据其相应值的类型来帮你初始化它们
*/
// var vname1, vname2, vname3 = v1, v2, v3
var number1, number2, number3 = 1, 2, 3

Denken Sie, dass das Obige immer noch etwas umständlich ist? Okay, das denke ich auch. Vereinfachen wir weiter:

/*    
定义三个变量,它们分别初始化为相应的值    
vname1为v1,vname2为v2,vname3为v3    
编译器会根据初始化的值自动推导出相应的类型*/
// vname1, vname2, vname3 := v1, v2, v3
number1, number2, number3 := 1, 2, 3

Sieht es jetzt nicht ziemlich ordentlich aus? := Dieses Symbol ersetzt direkt var und type. Diese Form wird als Kurzerklärung bezeichnet. Allerdings gibt es eine Einschränkung: Sie kann nur innerhalb einer Funktion verwendet werden. Wenn sie außerhalb der Funktion verwendet wird, wird sie nicht kompiliert. Daher wird die var-Methode im Allgemeinen zum Definieren globaler Variablen verwendet.

Mit anderen Worten: „:=“ kann nur bei der Deklaration von „lokalen Variablen“ verwendet werden, während „var“ dieser Einschränkung nicht unterliegt.

Empfohlene verwandte Artikel und Tutorials: Golang-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen „var' und „:=' in Golang. 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