2017-03-17 3 views
2

Ich versuche dieses Beispiel von der Go Tour zu verstehen.
Was ist die Bedeutung dieses letzten Komma auf Linie 3Line Breaks in Go - Dieses Beispiel von Go Tour verstehen

fmt.Println(
    pow(3, 2, 10), 
    pow(3, 3, 20), 
) 

Wie Linie tun bricht den Code in der Regel gehen ändern.
Ich weiß, dass ohne die Zeilenumbrüche ich diese Aussage schreiben kann als

fmt.Println(pow(3, 2, 10), pow(3, 3, 20)) 

und es wäre zu kompilieren.
Also, warum ist das zusätzliche Komma mit Zeilenumbrüchen

Antwort

3

Go "automatisch" fügt ; als das Ende einer Anweisung.

So

fmt.Println(
    pow(3, 2, 10), 
    pow(3, 3, 20), 
) 

als die selben wie

fmt.Println(
    pow(3, 2, 10), 
    pow(3, 3, 20), 
); 

Aber

fmt.Println(
    pow(3, 2, 10), 
    pow(3, 3, 20) 
) 

ist die gleiche wie

fmt.Println(
    pow(3, 2, 10), 
    pow(3, 3, 20); 
); 

was offensichtlich ein Syntaxfehler ist.

0

Es gibt keine Bedeutung. Nachgestellte Kommas sind in Funktionsaufrufen zulässig, obwohl sie durch go fmt entfernt werden.