Skip to content

Kallox/Learning-GO

Repository files navigation

Learning GO

GO es una tecnologia inspirada en C pero con una sintaxys mas simple y menor curva de aprendizaje.

Hay dos tipos de arquitectura:

Monoliticos: Proyecto enorme donde tenemos todo. Escalabilidad vertical. Microservicios: Separar las funcionalidades por proyectos. Esto permite una mejor escalabilidad horizontal.

Escalabilidad: Una aplicaciones es escalable cuando es pensada para que crezca en el tiempo a nivel de codigo o infraestructura.

Ventajas de trabajar con microservicios:

  • Permite una mejor mantencion del codigo.
  • Facilita realizar cambios para un servicio especifico.
  • Permite escalar horizontalmente.
  • Podemos conectarlos con Kafka.
  • Pueden estar hechos con distintos lenguajes segun los requerimientos.

Desventajas:

  • Demasiados microservicios puede generar el efecto contrario y dificultar su mantencion.

Caracteristicas de GO:

  • Sintaxis simple, rapido y tipado.

  • Compilado

  • Ideal para grandes cargas

  • No orientado a objeto

  • Limitado para patrones de diseno

  • Aprovecha mucho el paralelismo

  • Para bucles solo existe el for

  • Obliga a utilizar todas las variables

  • Trabaja con punteros

  • El scope se resuelve con el nombre(Capital para publico, minusculas para privado)

Todas las dependencias de GO tienen que estar en un repositorio

About

Learning GO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages