Pergunta

Aqui está um programa Go teste:

package main
import fmt "fmt"
func main () {
    ex := "moo cow\n";
    fmt.Print (ex)
}

Com o ponto e vírgula, ele compila. No entanto, se o ponto e vírgula é removido, ele não:

string.go:5: syntax error near fmt

Todas as idéias?


Update (março de 2012) :. Novas Go lançamentos são capazes de compilar as duas formas (com e sem o ponto e vírgula)

Foi útil?

Solução

A partir The Go Programação Language Specification :

Elementos de uma lista de declarações são separadas por um ponto e vírgula, que pode ser omitido somente se o anterior declaração:

  • extremidades com o parêntese de fechamento ")" de uma lista de declarações; ou
  • termina com uma chave de fechamento "}" que não faz parte de uma expressão.

Outras dicas

Bem, a resposta é tecnicamente aqui: http://golang.org/doc/effective_go. html # semicolons , mas não é muito clara. Parece que você pode deixar vírgula fora do final de declarações, mas não expressões. Eu acho que (eu não estou certo aqui), que expressões são qualquer coisa com um "=": (embora + = parece estar bem no tutorial) (ou "=") neles

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top