Pular para conteúdo

Aula 01 - Introdução ao Go e Ecossistema 🐹

A Linguagem do Google para a Nuvem


Agenda de Hoje 📅

  1. Origens e Filosofia do Go
  2. Diferenciais com outras linguagens
  3. Instalação e Setup
  4. O Arquivo go.mod
  5. "Hello World" na prática
  6. O Ecossistema e a Comunidade

1. Por que o Go nasceu? 🐣

  • Criado no Google (2007) por:
    • Robert Griesemer, Rob Pike e Ken Thompson.
  • Problemas reais:
    • Compilação lenta (C++).
    • Dependências complexas.
    • Dificuldade com multicore (concorrência).

2. Filosofia: "Menos é Mais" 🧊

  • Simplicidade acima de tudo.
  • Uma única forma de fazer as coisas.
  • Foco em legibilidade e manutenibilidade.
  • Binários estáticos e rápidos.

3. Go vs Outras Linguagens 🥊

Recurso Go Python Java
Velocidade ⚡ Alta 🐢 Baixa 🐎 Média
Tipagem Estática Dinâmica Estática
Concorrência Nativa Complexa Pesada
Binário Único Precisa Interpreter Precisa JVM

4. O Ecossistema Go 🐹

graph TD
    Tools[Go Toolchain] --> Comp[Compiler]
    Tools --> Test[Test Runner]
    Tools --> Mod[Go Modules]
    Tools --> Doc[Go Doc]
    Tools --> Fmt[Go Fmt]
    style Tools fill:#00add8,stroke:#333

5. Setup do Ambiente 🚀


Passo a Passo:

  1. Baixar em go.dev/dl.
  2. Extensão Go no VS Code.
  3. Verificar versão: go version.

6. O Primeiro Programa 📝

package main

import "fmt"

func main() {
    fmt.Println("Olá, Gopher! 🐹")
}

7. Módulos e Dependências 📂

  • O arquivo go.mod é o coração do projeto.
  • Comando: go mod init meu-projeto.
  • Gerencia versões de bibliotecas externas de forma segura.

8. Termynal na Prática 💻

$ go mod init aula01
$ go run main.go
Olá, Gopher! 🐹
$ go build main.go
$ ./main

Resumo da Aula ✅

  • Go une a eficiência do C com a simplicidade do Python.
  • É a linguagem oficial da infraestrutura moderna (Docker, K8s).
  • Simplicidade gera produtividade em times grandes.

Próxima Aula: Fundamentos 🧱

  • Variáveis e Tipos.
  • Controle de Fluxo.
  • Loops (o único for!).

Dúvidas? 🤔

"O código deve ser escrito para que humanos o leiam, e apenas incidentalmente para que máquinas o executem."