Declarar variables, funciones con retorno múltiple y tipos propios con la sintaxis de Go.
Trabajar con slices y mapas entendiendo su capacidad, su crecimiento y su copia.
Definir structs y métodos con receptores por valor o por puntero según convenga.
Implementar interfaces de forma implícita y programar contra comportamientos, no contra tipos.
Tratar errores como valores devueltos, envolverlos con fmt.Errorf y comprobarlos con errors.Is.
Organizar el código en módulos con go mod y ejecutar pruebas con go test.
Formatear y revisar el código con gofmt y go vet como parte del flujo habitual.
Contenido del curso
8 módulos · 39 clases en vídeo · práctica guiada en cada módulo
Módulo 1 · Presentación y entorno4 clases
Para qué se diseñó Go y dónde se usa
Primera celda en JupyterLab con el kernel de Go
Estructura de un programa: package, import y func main
gofmt y por qué no hay debate de estilo
Módulo 2 · Tipos y funciones5 clases
Variables, tipos básicos y declaración corta
Constantes y valores no tipados
Funciones, retorno múltiple y valores nombrados
defer y su orden de ejecución
Punteros sin aritmética
Módulo 3 · Colecciones5 clases
Arrays frente a slices
Longitud, capacidad y crecimiento de un slice
append y las copias inesperadas
Mapas: creación, acceso y borrado
Recorrido con range y orden no garantizado
Módulo 4 · Structs y métodos5 clases
Definir structs y literales compuestos
Métodos con receptor por valor o por puntero
Composición mediante incrustación
Etiquetas de campo y serialización JSON
Constructores idiomáticos
Módulo 5 · Interfaces5 clases
Satisfacción implícita de interfaces
Interfaces pequeñas y su ventaja
La interfaz vacía y el tipo any
Aserciones de tipo y switch de tipos
Ejercicio: sustituir una dependencia en pruebas
Módulo 6 · Errores como valores5 clases
El patrón de retorno con error
Crear errores con errors.New y fmt.Errorf
Envolver errores y comprobar con errors.Is y errors.As
Tipos de error propios
panic y recover: cuándo son legítimos
Módulo 7 · Módulos, pruebas y herramientas5 clases
go mod init y gestión de dependencias
Estructura de paquetes de un proyecto
Pruebas con go test y tablas de casos
Cobertura y pruebas de ejemplo
go vet y análisis estático
Módulo 8 · Caso práctico: utilidad de línea de comandos5 clases
Diseño de la herramienta y de sus banderas
Lectura de ficheros y salida por consola
Manejo de errores con mensajes útiles
Pruebas de la lógica principal
Entrega: binario compilado para varias plataformas
Requisitos
Haber programado en algún lenguaje, aunque sea a nivel básico.
Basta con un navegador para los primeros módulos: se practica en JupyterLab con el kernel de Go.
Para el bloque de módulos y pruebas conviene instalar Go en el equipo.
Descripción
Go se diseñó para que un equipo grande pueda leer código ajeno sin discutir estilo ni descifrar abstracciones. Tiene pocas construcciones, un formateador único y un compilador rápido, y por eso está detrás de Docker, Kubernetes, Terraform y buena parte de la infraestructura que se usa a diario. La contrapartida es que exige explicitar cosas que otros lenguajes esconden.
El curso recorre el lenguaje completo sin rodeos: tipos, slices, mapas, structs, interfaces implícitas y el tratamiento de errores como valores, que es la decisión que más sorprende al llegar de Java o Python. Se practica primero en cuaderno y después con la herramienta oficial: go mod, go test, gofmt y go vet, escribiendo una utilidad de línea de comandos completa.
Al terminar se puede leer el código de proyectos de infraestructura y escribir herramientas propias que compilan a un único binario sin dependencias. Es el paso previo al curso de concurrencia con goroutines y canales, y a la construcción de servicios y APIs, donde Go se ha convertido en la elección habitual.
¿Para quién es este curso?
Desarrolladores de backend que se incorporan a proyectos de infraestructura escritos en Go.
Ingeniería de sistemas y DevOps que necesita escribir herramientas propias con un único binario.
Programadores de otros lenguajes que quieren un lenguaje explícito para servicios de red.
Bajo demanda
Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.
Fundamentos del lenguaje, orientación a objetos, ficheros, concurrencia y tests, y después análisis y visualización de datos con NumPy, Pandas, Matplotlib y Seaborn.
Este sitio web utiliza cookies propias y de terceros para recopilar información con finalidad técnica. No se recaban ni ceden datos de carácter personal sin tu consentimiento. Más información en la política de cookies.