Sintaxe e Fundamentos
Sintaxe principal do Go para pacotes do dia a dia. Os resultados aparecem na mesma fence: comentários // na mesma linha quando curtos, blocos // de múltiplas linhas abaixo da amostra quando não.
Busque em todas as páginas da documentação
Sintaxe principal do Go para pacotes do dia a dia. Os resultados aparecem na mesma fence: comentários // na mesma linha quando curtos, blocos // de múltiplas linhas abaixo da amostra quando não.
:= declara e atribui em funções.
n := 42
s := "hi"
n // 42
// s == "hi"Variáveis não inicializadas recebem valores zero.
var i int
var b bool
var p *int
i // 0
b // false
p // nilif pode declarar uma variável com escopo.
if n := 3; n > 0 {
n // 3
}Itera sobre slices, maps, strings, canais.
sum := 0
for _, v := range []int{1, 2, 3} {
sum += v
}
sum // 6Sem fallthrough automático; casos são expressões.
n := 2
s := ""
switch n {
case 1:
s = "one"
case 2:
s = "two"
default:
s = "other"
}
s // "two"Troca e atribuição de múltiplos valores.
a, b := 1, 2
a, b = b, a
a // 2
// b == 1Constantes tipadas ou não tipadas.
const Max = 100
Max // 100iota para constantes relacionadas.
const (
A = iota // 0
B // 1
C // 2
)
B // 1Apenas conversões explícitas.
var f float64 = 3.9
int(f) // 3& para endereço, * para desreferenciar.
x := 5
p := &x
*p = 6
x // 6Executa no retorno da função, LIFO.
// defer f.Close()
// imprime após o corpo da funçãoRaro; prefira controle estruturado.
// goto Done
// Done:Controle de loop; break pode ter como alvo rótulos.
n := 0
for i := 0; i < 5; i++ {
if i%2 == 0 { continue }
n += i
}
n // 1+3 = 4new aloca com valor zero; make inicializa slices, maps, chans.
s := make([]int, 0, 4)
cap(s) // 4
len(s) // 0Descarta valores com _.
_, err := strconv.Atoi("x")
err != nil // truefuncpackage mainVersões da Stack: Go 1.26.x · chi/gin/echo latest (verificar na compilação)
Revisado por Chris St. John·Última atualização: 18 de jul. de 2026