Skip to content

Mayer-04/aprende-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lógica Go 🐹

Este repositorio te ofrece una base clara para aprender Go y además incluye ejercicios prácticos para que pongas en práctica lo aprendido y fortalezcas tus habilidades.

La información que comparto viene de distintas fuentes: programadores con experiencia, videos, cursos y creadores de contenido apasionados por Go. A esto le sumo mis propios conocimientos y experiencia, para explicarte el lenguaje de la forma más clara y fácil posible.

📂 Contenido

  1. Fundamentos: En la carpeta fundamentos encontrarás archivos que explican los conceptos básicos de Go. Sirven como una guía de referencia, desde la sintaxis más simple hasta aspectos un poco más avanzados del lenguaje.
  2. Ejercicios: La carpeta ejercicios contiene diferentes problemas y retos de programación en Go, pensados para practicar y reforzar lo aprendido.

Características de Go

Go fue diseñado para ser un lenguaje rápido y práctico: ofrece alto rendimiento, compilación veloz y una gestión sencilla de dependencias. Además, su compilador no solo es rápido, sino que también permite hacer compilación cruzada, es decir, generar programas para distintos sistemas operativos y entornos de manera muy fácil. Entre sus principales características destacan:

  1. Compilado: Go es un lenguaje compilado, es decir, el código fuente se traduce a un formato binario antes de su ejecución. Gracias a esto, los programas en Go suelen ser rápidos y eficientes.
  2. Tipado estático: En Go, los tipos de las variables se definen en tiempo de compilación. Esto ayuda a encontrar errores antes de ejecutar el programa, lo que da más seguridad al escribir código.
  3. Concurrencia: Go tiene soporte nativo para manejar múltiples tareas de manera simultánea utilizando goroutines, lo que facilita la creación de programas concurrentes.
  4. Multiparadigma: Go combina varios estilos de programación. Es sobre todo un lenguaje imperativo y concurrente, pero también incluye ideas de la programación funcional, como las funciones de primera clase, y cuenta con su propia forma de manejar la programación orientada a objetos.
  5. Interfaces flexibles: En Go, las interfaces permiten definir comportamientos que distintos tipos pueden implementar. Esto hace que el código sea más reutilizable y fácil de mantener.
  6. Lenguaje de propósito general: Go es muy usado en la industria gracias a su rendimiento, simplicidad y escalabilidad. Es ideal para:
  • Aplicaciones en la nube.
  • Servidores web y herramientas de red.
  • Desarrollo de APIs y microservicios.
  • Infraestructura y contenedores (Docker, Kubernetes).
  • Sistemas distribuidos.
  1. Herramientas en Go para DevOps: Gran parte de las herramientas modernas de DevOps están construidas con Go, entre ellas:
  • Docker
  • Kubernetes
  • Podman
  • Terraform
  • Prometheus
  • Vault
  • Argo CD
  • Istio
  • Grafana (su backend está en Go)

🤝 Cómo contribuir

¡Las contribuciones son bienvenidas! Si tienes ideas para mejorar los ejercicios, agregar nuevos desafíos o corregir errores, no dudes en abrir una Pull Request. Cada aporte es valioso para la comunidad.

About

Repositorio que proporciona fundamentos y ejercicios prácticos para aprender el lenguaje de programación Go 🐹

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages