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)
}
```