Curso de Go con NotebookLm y Learning Go (second edition)
Find a file
2026-10-09 12:53:17 +02:00
.vscode refactor: reorganiza curso en moduloNN-tema con ejercicios aislados 2026-09-22 21:55:51 +02:00
modulo01-tipos-compuestos Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo02-control-flujo Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo03-funciones-recursos Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo04-punteros-memoria Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo05-metodos-interfaces Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo06-genericos Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo07-errores Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo08-herramientas-calidad Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo09-concurrencia Documentación de cada módulo 2026-10-09 12:53:17 +02:00
modulo10-testing Documentación de cada módulo 2026-10-09 12:53:17 +02:00
varios/cola_en_go Modulo09 - Concurrencia 2026-10-09 10:05:51 +02:00
.gitignore Ejercicios módulo 2 2026-09-17 21:57:14 +02:00
go.mod go mod init 2026-09-16 19:15:10 +02:00
main.go Modulo09 - Concurrencia 2026-10-09 10:05:51 +02:00
Makefile Modulo09 - Concurrencia 2026-10-09 10:05:51 +02:00
README.md Documentación de cada módulo 2026-10-09 12:53:17 +02:00
temp.md Modulo09 - Concurrencia 2026-10-09 10:05:51 +02:00

Go with NotebookLM

Curso de Go idiomático y práctico (basado en Learning Go, 2.ª ed.), organizado por módulos con ejemplos y ejercicios resueltos.

Índice de módulos

Cómo ejecutar los ejemplos

Cada ejercicio es un package main independiente. Puedes ejecutarlo directamente con go run:

# Módulo 1
go run ./modulo01-tipos-compuestos/ejercicio01-filtro-logs
go run ./modulo01-tipos-compuestos/ejercicio02-limpieza-sesiones
go run ./modulo01-tipos-compuestos/ejemplo-set

# Módulo 3 - Closures y defer
go run ./modulo03-funciones-recursos/ejercicio01-prefijador
go run ./modulo03-funciones-recursos/ejercicio02-medir-tiempo
go run ./modulo03-funciones-recursos/ejercicio03-transaccion

# Módulo 5 - Interfaces
go run ./modulo05-metodos-interfaces/ejercicio02-pagador
go run ./modulo05-metodos-interfaces/ejercicio03-any

Comprobar calidad de código

Antes de subir cambios, es recomendable ejecutar:

# Formatear
go fmt ./...

# Analizar con go vet
go vet ./...

# Compilar todo
go build ./...

# Detectar race conditions (si hay concurrencia)
go run -race ./modulo09-concurrencia

# Ejecutar tests
go test -v ./...

Estructura del repositorio

.
├── go.mod
├── main.go
├── Makefile
├── README.md
├── modulo01-tipos-compuestos/
├── modulo02-control-flujo/
├── modulo03-funciones-recursos/
├── modulo04-punteros-memoria/
├── modulo05-metodos-interfaces/
├── modulo06-genericos/
├── modulo07-errores/
├── modulo08-herramientas-calidad/
├── modulo09-concurrencia/
├── modulo10-testing/
└── varios/

Notas

  • Convenciones: Carpetas en minúsculas, sin espacios ni tildes (moduloNN-tema).
  • Un ejercicio = una carpeta: Cada uno con su propio main.go para evitar conflictos de package main.
  • Idiomatic Go: Se prioriza claridad, legibilidad y convenciones oficiales.
  • Curso completo: Cubre fundamentos, tipos compuestos, punteros, interfaces, genéricos, errores, concurrencia y testing.