Latest web development tutorials

Zum linguistischen Variablen

Variable aus der Mathematik, Computersprachen können gespeichert oder berechneten Ergebnisse werden kann Wert Abstraktion dargestellt werden. Variablen können über den Variablennamen zugegriffen werden.

Go Sprache Variablennamen bestehen aus Buchstaben, Zahlen, unterstreicht, von denen der erste Buchstabe nicht numerisch ist.

Die allgemeine Form einer Variable deklariert ist das Schlüsselwort var verwenden:

var identifier type

Variablendeklaration

Im ersten Schritt geben Sie den Variablentyp, die Erklärung, wenn die Zuordnung, die Standardeinstellung verwenden.

var v_name v_type
v_name = value

Die zweite, basierend auf dem Wert der Selbstbestimmung Variablentypen.

var v_name = value

Drittens Weglassen var, Anmerkung: Variable = Links sollten an Ort und Stelle nicht deklariert werden, sonst wird es einen Compiler-Fehler verursachen.

v_name := value

// 例如
var a int = 10
var b = 10
c : = 10

Beispiele sind wie folgt:

package main
var a = "w3cschool本教程"
var b string = "w3cschool.cc"
var c bool

func main(){
    println(a, b, c)
}

Die obigen Beispiele Umsetzung der Ergebnisse:

w3cschool本教程 w3cschool.cc false

Multivariable Erklärung

//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断

vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译错误


// 这种因式分解关键字的写法一般用于声明全局变量
var (
    vname1 v_type1
    vname2 v_type2
)

Beispiele sind wie folgt:

package main

var x, y int
var (  // 这种因式分解关键字的写法一般用于声明全局变量
    a int
    b bool
)

var c, d int = 1, 2
var e, f = 123, "hello"

//这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"

func main(){
    g, h := 123, "hello"
    println(x, y, a, b, c, d, e, f, g, h)
}

Die obigen Beispiele Umsetzung der Ergebnisse:

0 0 0 false 1 2 123 hello 123 hello

Werttypen und Referenztypen

Alle wie int, float, bool und String diese Grundtypen sind alle Werttypen, um diese Arten von Variablen direkt auf den Wert unter Verwendung von im Speicher abgelegt:

Wenn Sie das Gleichheitszeichen = , wenn der Wert einer Variablen in eine andere Variable zugewiesen wird, wie zum Beispiel: j = i ist der Wert des Speichers in der Tat werde ich eine Kopie der folgenden sein:

Sie können die Speicheradresse der Variablen erhalten i & i, zum Beispiel: 0xf840000040 (jede Adresse unterschiedlich sein können). Wert Variablenwert Typ auf dem Stapel abgelegt.

Speicheradresse variiert in Abhängigkeit von der Maschine, oder sogar das gleiche Programm auf verschiedenen Maschinen nach der Ausführung unterschiedliche Speicheradressen haben. Da jede Maschine eine andere Speicherlayout aufweisen kann, und eine Positionszuordnung variieren.

Öfter komplexe Daten, um die Verwendung von mehreren Worten erfordert, werden diese Daten in der Regel unter Verwendung eines Referenztyp gespeichert.

Ein Referenztyp variable r1 r1 ist der Wert in der Speicheradresse gespeichert sind, wo die (digital), oder die Position der Speicheradresse des ersten Wortes befindet.

Die Speicheradresse wird ein Zeiger genannt, die tatsächlich war es ein anderes Wort.

Mit Bezug auf eine Mehrzahl von Typen von Wortzeiger sein kann, in zusammenhängenden Speicheradressen (Speicherlayout kontinuierlich ist), die eine Berechnung der effizienteste Form der Speicherung, diese können auch in Speicherworte verteilt gespeichert werden, die jeweils ein Wort gibt an, wo das nächste Wort Speicheradresse.

Wenn die Zuweisung r2 = r1, nur Verweise (Adresse) wird kopiert.

Wenn r1 Wert geändert wird, dann wird der Wert aller Zitate Punkt geändert werden, in diesem Fall auch r2 betroffen sein.


Kurzform, verwenden Sie das: = Zuweisungsoperator

Wir wissen, dass Sie automatisch der Typ einer Variablen initialisiert wird, entnehmen kann durch die Systemvariable weggelassen wird, die Aussage über die Deklaration Schlüsselwort var geschrieben ist eigentlich ein wenig überflüssig, so können wir sie als abgekürzt werden: = 50 oder b: = false.

a und b-Typen (int und bool) automatisch abgeleitet Compiler wird.

Dies ist die bevorzugte Form der Verwendung von Variablen, aber es kann nur in den Körper der Funktion verwendet werden, kann sie nicht mit der Zuordnung der globalen Variablen zu deklarieren verwendet werden. Verwenden Sie Operatoren: = effizient eine neue Variable erstellen können Initialisierung Anweisung aufgerufen.

Vorsichtsmaßnahmen

Wenn der gleiche Code-Block, können wir nicht den gleichen Namen für eine Variable Initialisierung Anweisung wiederverwenden, zum Beispiel: a: = 20 nicht erlaubt ist, wird der Compiler eine Fehleranzeige keine neuen Variablen auf der linken Seite: =, sondern ein = 20 ist möglich, weil es auf die gleiche Variable einen neuen Wert zugeordnet ist.

Wenn Sie es verwenden, bevor Sie die Variable a definieren, erhalten Sie einen Compiler-Fehler undefined erhalten: a.

Wenn Sie eine lokale Variable deklarieren, aber in der gleichen Code-Block in es nicht verwendet wird, erhält man einen Compiler-Fehler erhalten, wie das folgende Beispiel, welche Variable ein:

func main() {
   var a string = "abc"
   fmt.Println("hello, world")
}

Versuchen Sie diesen Code zu kompilieren , wird den Fehlerein erklärter und nicht verwendet zu bekommen.

Darüber hinaus eine einfache Zuordnung zu geben ist nicht genug, muss dieser Wert verwendet werden, so Verwendung

fmt.Println("hello, world", a)

Es werden Fehler entfernen.

Aber die globale Variablen deklariert, aber nicht zu nutzen.

>

Mehrere Variablen des gleichen Typs können in derselben Zeile angegeben werden, wie:

var a, b, c int

Weitere Variablen können auf derselben Zeile zugewiesen werden, wie zB:

a, b, c = 5, 7, "abc"

Die obige Linie geht davon aus, dass die Variablen a, b und c angegeben sind, sonst sollte es auf diese Weise verwendet werden:

a, b, c := 5, 7, "abc"

Diese Werte sind auf der rechten Seite in der gleichen Reihenfolge an die Variable auf der linken Seite zugeordnet ist, so dass ein Wert 5 ist, b-Wert 7 ist, der Wert von c ist "abc".

Diese Zuordnung wird parallel oder gleichzeitig aufgerufen.

Wenn Sie die Werte zweier Variablen austauschen möchten, können Sie einfach a, b = b, a.

Blank Kennung _ wird ebenfalls verworfen Werte, wie zum Beispiel den Wert von 5 verwendet: _, b = 5, 7 aufgegeben wurde.

_ Eigentlich eine Zuschreibung einzige Variable, kann man nicht seinen Wert. Gehen Sie dies tun, weil die Sprache, in der Sie alle Variablen verwenden, müssen deklariert werden, aber manchmal müssen Sie nicht alle Rückgabewerte von einer Funktion zu verwenden, erhalten.

Parallel Zuordnung wird auch als Funktion zurückgeben mehrere Rückgabewerte, wie val und err verwendet hier erhält man gleichzeitig durch Func1 Funktion aufrufen: val, err = Func1 (var1).