Este es un curso vivo
Es un curso en construcción. No todas las secciones están listas, se irán incorporando nuevas secciones y ejercicios a medida que vosotros completéis el curso, con vuestra ayuda este curso cada vez será más completo.
¡Bienvenido/a al curso de GOdyssey!
La documentación que ves es parte de los cursos de onboarding que damos en APSL a las nuevas incorporaciones. Está orientado a facilitar la incorporación de nuevas promesas, con poca experiencia en GO. Se orienta como una referencia de conceptos y guía de enlaces útiles, de modo que cuando lo acabes estés en buenas condiciones para hacer realidad tus ideas o evolucionar en tu carrera profesional en APSL.
Este tutorial combinamos el desarrollo de proyectos reales, con requisitos frecuentes, mientras trabajamos aspectos de diseño de software, calidad de código y testing.
¿A quién va dirigido este curso?
Principalmente está orientado a programadores y programadoras de todos los perfiles. El orden está enfocado de menor a mayor dificultad, pensando en perfiles con menos experiencia y que quieran aprender a desarrollar aplicaciones o paquetes más profesionales a medida que aprenden a desarrollar en GO. Realmente no hay requisitos de nivel, el curso está dividido en secciones cada una de las cuales tratará una parte del día a día del desarrollo con GO y las técnicas asociadas.
Si ya tienes experiencia
Puedes utilizar el buscador para navegar al punto que necesites. Recuerda que los merge requests con nuevos contenidos, correcciones o enlaces son bienvenidos. De momento el repositorio es privado para la gente de APSL.
El contenido del curso se orienta más a ser didáctico que a tener estrictamente razón. El "esto no es exactamente así" pierde frente al así se entiende mejor. Si tienes dudas o quieres aportar algo, no dudes en abrir un issue o un merge request.
Si no tienes experiencia
Se espera que tengas un conocimiento previo de programación en algún lenguaje, preferiblemente compilado. En caso de que no lo tengas, te recomendamos realizar el tutorial A Tour of Go para iniciarte. Además al finalizar el curso te recomendamos que realices el curso Learn Go with Tests para afianzar los conocimientos adquiridos. Además también puedes leer el libro The Go Programming Language de Alan A. A. Donovan y Brian W. Kernighan, en los que se basan muchas de las explicaciones de este curso.
Se puede hacer uso de Go Playground para probar gran parte del código que se muestra en el curso.
¿Cómo se estructura el material?
En el primer punto hablaremos sobre el proyecto go como legua de programación y su caracteristicas.
El capítulo 1 es un tutorial sobre las estructuras básicas de Go, introducidas a través de una docena de ejemplos, desde su instalación hasta la creación de un paquete, tipos, declaración de variables, funciones, estructuras de control, arrays, slices, maps, etc.
El capítulo 2 trata sobre la estructura de un programa en Go, punteros, interfaces y control de errores.
El capítulo 3 trata sobre la concurrencia en Go, goroutines, canales, mutex, etc.
En el último punto, veremos ejemplos de código de proyectos reales, con requisitos frecuentes, mientras trabajamos aspectos de diseño de software.