Avatar ·

Como começar a estudar Go do zero?

Olá, comunidade! Decidi começar a estudar Go do zero, mas me deparei com o problema de escolher o caminho certo de aprendizado. Tenho experiência básica em Python (escrevia scripts simples) e um pouco em C (nível de curso universitário). Tentei ler o tour oficial de Go (tour.golang.org) — ele me pareceu muito superficial, e depois dele não entendo como escrever projetos reais. Em seguida, comecei a assistir a uma playlist no YouTube de um autor popular, mas tem muita enrolação e exemplos desatualizados (usa a forma antiga de trabalhar com dependências sem go modules). No fim, fiquei travado: não consigo entender como organizar corretamente a estrutura do projeto, como trabalhar com erros (além do simples if err != nil) e como testar o código. Aqui está um exemplo do meu código que escrevi após o tour — um programa simples para ler CSV e exibir a soma dos números: ```go package main import ( "encoding/csv" "fmt" "os" "strconv" ) func main() { file, err := os.Open("data.csv") if err != nil { fmt.Println("Error:", err) return } defer file.Close() reader := csv.NewReader(file) records, err := reader.ReadAll() if err != nil { fmt.Println("Error:", err) return } sum := 0 for _, record := range records { for _, field := range record { num, err := strconv.Atoi(field) if err != nil { fmt.Println("Error converting:", err) continue } sum += num } } fmt.Println("Sum:", sum) } ```