TODO
- Lenguaje creado en Google para resolver problemas de escalabilidad.
- Go es un lenguaje compilado y de tipado estático.
- Muy eficiente en términos de memoria y uso de la CPU.
- Incorpora la concurrencia en el lenguaje mediante
goroutinesychannels
- Mac users:
brew install go- Linting:
- Go ya incorpora un lint
go fmt - Existen lints con ciertas mejoras respecto default. Como
golangci-lint, para instalarlo:brew install golangci-lint
- Go ya incorpora un lint
Módulos introducidos a partir de la versión 1.11. Introducidos para resolver diversos problemas como la gestión de dependencias, builds, etc.
- Crear nuevo modulo:
go mod init module-nameEsto creará un archivo module-name.mod que contiene la version de Go así como las dependencias necesarias.
- Para más información sobre módulos:
go help mod init
go help mododules
go help modPara escribir un test crearemos una función pero con algunas reglas:
- El nombre del fichero tiene que ser
example_test.go - El nombre de la función tiene que empezar por
Test - La función de test solo aceptará un argumento
t *testing.Tque se importará el paquete detesting
Go tiene una herramienta incorporada que te permite examinar cualquier paquete instalado en tu sistema o módulo en el que estás trabajando.
go doc fmtIré añadiendo diferentes apuntes que voy haciendo.