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.