Datilografia é significativa na programação. Você será mais eficiente ao usar técnicas de digitação rápida para escrever código na linguagem de programação Go.
Programação em Go e datilografia
Programar em Go e praticar digitação se relacionam naturalmente. Go possui regras de sintaxe rígidas e caracteres especiais que podem ser difíceis de digitar rapidamente. Um erro em uma chave ou em um operador resulta imediatamente em erro de compilação.
O que é característico da sintaxe de Go?
Go é uma linguagem compilada (inglês: compiled language) com estilo limpo e minimalista. O código começa sempre com uma declaração package
. As importações são agrupadas em blocos. Funções são declaradas com a palavra-chave func
e usam chaves {}
. A indentação não é opcional - Go impõe formatação com go fmt
. Os pontos e vírgulas não são escritos, mas o compilador os insere automaticamente no final das linhas.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Caracteres importantes
No código Go, aparecem frequentemente chaves {}
, parênteses ()
, colchetes []
, aspas "
, backticks `
, o operador de atribuição curta :=
e o operador de canal <-
.
Variáveis e declarações
Go diferencia a declaração com var
da atribuição curta :=
. Este operador combina dois símbolos e é usado o tempo todo.
var count int = 10
message := "typed correctly"
Estruturas de controle
Go usa if
, for
e switch
. Não existe while
. Operadores de comparação como ==
, !=
, <
, >
e o operador ++
devem ser digitados corretamente.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Funções e múltiplos retornos
As funções em Go podem retornar múltiplos valores. Isso exige o uso frequente de vírgulas em listas de retorno e em atribuições.
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a/b, nil
}
result, err := divide(10, 2)
Slices, maps e literais
Colchetes []
e chaves {}
são usados o tempo todo. Maps usam dois-pontos :
entre chave e valor.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Structs e métodos
O tipo struct
agrupa dados. Métodos são declarados com um receiver e chamados com o ponto .
.
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Interfaces
As interfaces são satisfeitas implicitamente, sem uma palavra-chave como implements
.
type Stringer interface {
String() string
}
Concorrência e canais
O operador de canal <-
é uma característica própria de Go. Ele serve tanto para envio (ch <- valor
) quanto para recebimento (valor := <-ch
).
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Strings e runas
Aspas duplas definem strings normais, backticks definem raw strings e aspas simples são usadas para runas.
text := "normal string"
raw := `path\to\file`
r := 'a'
Indentação e formatação
Go impõe um estilo uniforme. A posição de chaves e quebras de linha é importante. Um erro comum é inserir Enter
logo após return
.
Resumo
Os caracteres mais importantes em Go são: chaves {}
, parênteses ()
, colchetes []
, o operador :=
e a seta de canal <-
. Praticar esses símbolos é essencial para escrever código rápido e preciso.