Go o Golang es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C, que intenta ser dinámico como Python y con el rendimiento de C o C++ desarrollado por Google, sus creadores son Robert Griesemer, Rob Pike y Ken Thompson (UNIX). Su desarrollo empezó en 2007 y la primera versión se liberó en 2009.
- Empresas que usan Go
- Docker
- Kubernetes
- Graphana
- Netflix
- Dropbox
- ...
- Concurrente
- Linkado estático
- Cross compilation
- Multiparadigma
- Tipado estático - tipificación dinámica de datos en tiempo de ejecución
- Garbage collector(latency-free)
- Eficiente
- High speed compilation
- No utiliza excepciones
- No existen clases sino structs
- Tiene punteros, pero no tiene aritmética de punteros
- Implementación de interfaces implícita
Pros
- Rápido - eficiente
- Cross compilation
- Recurrente nativo
- Fácil de usar y entender
- Librería estándar completa
Contras
- Gestión de dependencias
- No admite sobrecarga de métodos
- No permite mockear depencias de saque
- Carece de genéricos
- Sintaxis básica
- Funciones
- Structs
- Composición
- Interfaces
- Goroutines
- Test
- Server
- Server con framework