MCPcopy Index your code
hub / github.com/TeoMeWhy/curso-go-ds

github.com/TeoMeWhy/curso-go-ds @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
167 symbols 244 edges 83 files 2 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Curso Go - Téo Me Why

Curso introdutório da linguagem Go. Conhecendo a sintaxe e características da linguagem com um Cientista de Dados.

Onde?

Aulas ao vivo e gravações disponíveis no YouTube

[!TIP] Playlist de vídeos aqui

Conteúdo

Segue abaixo os tópicos que iremos desbravar ao longo do curso.

[!TIP] Confira a apresentação completa do conteúdo, exemplo de código e exercícios aqui.

[!WARNING] Se atente à versão do Go que usamos ao longo do curso: go1.22.2 linux/amd64

Introdução ao Go

  • Introdução à programação e ao Go
  • Configurando o ambiente de desenvolvimento
  • Olá mundo!

Tipos básicos de dados

  • Numéricos
  • Strings
  • Booleanos

Variáveis

  • Como armazenar resultados e entradas do usuário

Condicionais: if/else

  • Estrutura if
  • Estrutura else
  • Combinando if/else

Condicionais: switch

  • Estrutura switch/case
  • Quando usar switch ao invés de if/else

Loops: for

  • Loop for tradicional
  • Loop for como while
  • Iterando sobre coleções com range

Arrays

  • Criação e inicialização
  • Acesso por índice
  • Modificação de elementos

Fatias (Slices)

  • Criação e inicialização
  • Diferença entre arrays e slices
  • Append e manipulação
  • Trabalhando com notas (exemplo prático)

Mapas

  • Criação e declaração
  • Acesso a valores
  • Modificação e deleção

Funções

  • Definindo funções em Go
  • Parâmetros e argumentos
  • Retorno de valores
  • Funções variádicas
  • Recursão
  • defer, panic e recover
  • Ponteiros

Estruturas e Interfaces

  • Inicialização
  • Campos e Métodos
  • Tipos Inclusos
  • Interfaces

Concorrência

  • Goroutines
  • Canais

Exercícios

Pratique o que aprendeu com os exercícios organizados por bloco:

Bloco Tópicos
Bloco 02 Variáveis e entrada de dados
Bloco 03 Condicionais (if/else)
Bloco 04 Arrays e loops
Bloco 05 Fatias (slices)
Bloco 06 Funções
Bloco 07 Funções variádicas e recursão

Agradecimentos

Mutio obrigado à todas pessoas que apoiam o nosso projeto de educação na internet. Juntos estamos conseguindo impactar a vida de milhares de pessoas. Muitos destes, não teriam condições de aprender sobre dados e tecnologia, e hoje, graças ao apoio e incentivo de vocês, consigo alcançar mais e mais pessoas.

Agradecimento especial ao Alex Rios (@alexrios) pela revisão e melhorias de nosso material.

Extension points exported contracts — how you extend this code

Atacante (Interface)
(no doc) [2 implementers]
13_interfaces/main.go
Defensor (Interface)
(no doc) [2 implementers]
13_interfaces/main.go
Lutador (Interface)
(no doc) [2 implementers]
13_interfaces/main.go

Core symbols most depended-on inside this repo

fib
called by 6
10_funcoes/03_recursao/main.go
CalculoDano
called by 4
13_interfaces/main.go
print
called by 2
14_goroutines/04_select/main.go
toque
called by 2
14_goroutines/02_tum_ta/main.go
soma
called by 2
10_funcoes/02_variadicas/main.go
soma
called by 2
10_funcoes/01_base/main.go
olaFulano
called by 2
exercicios/bloco_07/ex01/main.go
Ligar
called by 2
12_struct/02_smartphone/main.go

Shape

Function 134
Method 16
Struct 10
TypeAlias 4
Interface 3

Languages

Go98%
Python2%

Modules by API surface

13_interfaces/main.go18 symbols
12_struct/02_smartphone/main.go9 symbols
exercicios/02_desafio/figurinhas/main.go8 symbols
12_struct/01_eletro/main.go7 symbols
11_tipos/main.go7 symbols
10_funcoes/04_defer/main.go5 symbols
exercicios/bloco_07/ex03/main.go4 symbols
14_goroutines/05_buffer/main.go4 symbols
14_goroutines/04_select/main.go4 symbols
14_goroutines/03_canais/main.go4 symbols
exercicios/bloco_07/ex05/main.go3 symbols
exercicios/02_desafio/figurinhas/main.py3 symbols

For agents

$ claude mcp add curso-go-ds \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact