[OTL-010] Iniciación a Go (Golang)
Pronoide Wiki Web
Este curso cubre desde los fundamentos del lenguaje hasta conceptos avanzados, como concurrencia y programación orientada a objetos. Los participantes aprenderán a configurar su entorno de trabajo, trabajar con tipos de datos, funciones, estructuras, punteros, métodos, y a gestionar recursos y errores.
Duración: 20 horas
Perfil: Básico
Dirigido a
Esta acción formativa está destinada a programadores y analistas que vayan a crear utilizar el lenguaje de programación Go.
Requisitos previos
Los alumnos necesitarán tener conocimientos de programación y orientación a objetos.
Objetivos
- Aprender los fundamentos de Go.
- Comprender y aplicar tipos de datos, funciones, estructuras, punteros y métodos en Go.
- Dominar la programación concurrente.
- Gestionar errores y recursos.
Contenido
Introducción a Go
Historia, características y ventajas del lenguaje Go
Fundamentos del Lenguaje Go
Sintaxis básica, estructuras de control y flujo de ejecución
Configuración del Entorno de Trabajo
Instalación de Go, herramientas y configuración de un espacio de trabajo adecuado
Estructura de un Programa en Go
Anatomía de un programa básico en Go: paquetes, funciones y declaración de variables
Tipos de Datos Incorporados
Tipos básicos como enteros, flotantes, booleanos y cadenas de texto
Constantes y Variables
Declaración y uso de constantes y variables en Go
Operadores
Operadores aritméticos, lógicos, relacionales y de asignación
Sentencias de Control
Estructuras condicionales (if, else) y bucles (for)
Tipos de Datos Derivados
Arrays, slices y sus diferencias
Estructuras
Definición y uso de estructuras para representar datos complejos
Punteros
Manejo de punteros para trabajar con referencias de memoria
Mapas
Introducción a los mapas (diccionarios) en Go y su uso
Funciones
Creación y uso de funciones, paso de parámetros, retorno de valores
Métodos e interfaces
Métodos asociados a tipos, definición y uso de interfaces
Paquetes
Organización y gestión de código mediante paquetes en Go
Concurrencia
Principios de programación concurrente en Go
Goroutines
Creación y manejo de goroutines para ejecutar tareas concurrentes
Canales
Uso de canales para la comunicación entre goroutines
Administración de recursos
Manejo eficiente de recursos en aplicaciones concurrentes
Programación Orientada a Objetos
Conceptos de orientación a objetos en Go: estructuras, métodos, y interfaces
Manejo de Errores
Técnicas para gestionar errores en Go usando valores de error
Reflection API
Uso de la API de reflexión para obtener información sobre tipos en tiempo de ejecución
Bibliotecas de Go
Uso de bibliotecas estándar y de terceros para extender funcionalidades
Consumir un API REST
Documentación Recomendada
Mastering Go, Fourth Edition
Mihalis Tsoukalos
Mar 2024 | 736 pages
https://www.packtpub.com/en-us/product/mastering-go-9781805122647
