Temario del curso
Go en contexto: Una comparación
- Go frente a Java, Python, C y otros lenguajes
- Principios de diseño clave de Go
- Cuándo (y cuándo no) utilizar Go
Conceptos fundamentales del lenguaje
- Configuración del entorno de desarrollo en Go
- Variables, constantes y tipos
- Funciones y múltiples valores de retorno
- Estructuras de control: if, switch, for
- Arreglos, slices y mapas
- Structs y anidamiento
- Métodos e interfaces
- Comprensión de los punteros en Go
- Patrones e idiosincrasias para el manejo de errores
Concurrencia en Go
- Goroutines y el planificador del runtime de Go
- Canales y paso de mensajes
- Sentencias select
- Patrones de concurrencia (fan-out, fan-in, grupos de trabajadores)
- Sincronización (WaitGroups, Mutexes)
Uso de paquetes estándar y comunes
- Trabajo con los paquetes fmt, strings, time y math
- Entrada y salida de archivos con os e io/ioutil
- Clientes y servidores HTTP con net/http
- Análisis y codificación de JSON
Organización de proyectos y módulos en Go
- Uso de módulos Go para la gestión de dependencias
- Organización de paquetes y archivos
- Construcción e instalación de aplicaciones en Go
Herramientas de Go
- Uso de gofmt y go vet para el formato y análisis estático del código
- Ejecución y creación de pruebas unitarias con go test
- Pruebas de rendimiento y perfilado con go test -bench y pprof
- Depuración con Delve (opcional)
Resumen y próximos pasos
- Mejores prácticas para el desarrollo en Go
- Panorama general de los frameworks web y el ecosistema de Go
- Recursos para continuar aprendiendo
Requerimientos
- Conocimiento de algún lenguaje de programación (por ejemplo: C, Java, Python, PHP, etc.).
- Este curso no explica conceptos básicos como bucles o sentencias if; se enfoca en cómo estos se implementan en Go.
Público objetivo
- Desarrolladores de software familiarizados con otros lenguajes de programación.
- Desarrolladores backend que están migrando a Go.
- Ingenieros que trabajan en aplicaciones nativas de la nube o de alto rendimiento.
Testimonios (6)
Los ejercicios prácticos que fueron realmente entretenidos.
Jurgen Cruz - Focus Engineering SRL
Curso - Go Programming Language for Programmers
Traducción Automática
El Instructor conocía conceptos de lenguaje especializados y tenía una perspectiva histórica sobre cómo el lenguaje ha cambiado desde su fecha de lanzamiento original.
Brandon - DuosTechnologies, Inc.
Curso - Go Programming Language for Programmers
Traducción Automática
El nivel de detalle sobre los mecanismos de por qué y cómo funcionaban las cosas fue muy útil. También aprecié mucho tener el repositorio para consultar durante el día, así podía concentrarme en ver lo que estaba explicando.
Sara - DuosTechnologies, Inc.
Curso - Go Programming Language for Programmers
Traducción Automática
La forma didáctica de presentar
Ivo Abdul - CEDSIF Ministry of Finance
Curso - Go Programming Language for Programmers
Traducción Automática
Conceptos de rango, segmentación, intercambios,...
Edmundo Manave - CEDSIF Ministry of Finance
Curso - Go Programming Language for Programmers
Traducción Automática
La simplicidad del lenguaje y los ejemplos proporcionados por el profesor
Alvaro Salomao Rumbane - CEDSIF Ministry of Finance
Curso - Go Programming Language for Programmers
Traducción Automática