2017-01-29 9 views
0

Ich versuche Go zu lernen, aber beim Ausprobieren einer einfachen for-Schleife fand ich es schwierig, es funktioniert zu bekommen. Dieser Code kompiliert nicht, wenn ich die Variable a in der Hauptfunktion definiere, gibt es einen Fehler 'deklariert aber nicht benutzt'. Ich verstehe nicht, wann eine Variable deklariert werden muss und wann nicht. Vielen Dank.Go - Variable deklariert und nicht verwendet

package main 

import "fmt" 

func main() { 


    for a:=0;a<4;a++ {  
     fmt.Printf("value of a is %d\n",a) 
} 
+0

Der Code fehlt eine schließende Klammer '}' am Ende. Das Hinzufügen funktioniert wie vorgesehen. – 6502

+0

OK, sorry, kopierte es falsch. Aber was ist mit der Deklaration von Variablen, wann sollten Variablen deklariert werden und wann sollten sie nicht sein? –

Antwort

1

Der Grund, haben Sie die ‚nicht verwendet Fehler‘ ist, weil der Ausdruck a:=0 im Rahmen der Schleife eine neue Variable mit dem gleichen Namen erklärt. Wenn Sie die Variable 'a' bereits vor der Schleife deklariert haben, ändern Sie sie in for a=0; a<4; a++ (ohne den Doppelpunkt).

1

Sie haben zwei Möglichkeiten zur Verfügung

  1. die Variable explizit deklarieren und dann

    var a int 
    a = 0 
    
  2. Declare verwenden und in einer Anweisung zuweisen, ohne den Typ angeben zu müssen (es wird gefolgert)

    a:=0 
    

Beachten Sie den Unterschied in = und :=. Wenn Sie zweimal := verwenden, gilt dies als Neudeklaration. Mit anderen Worten, = dient nur zur Zuweisung, während := für die Deklaration und Zuweisung in einem einzigen Schritt dient.

Verwandte Themen