Hemos hablado mucho de PHP, PHPUnit, al principio tratamos temas de Java y ahora es el turno de Go. Go es un lenguaje de programación concurrente y compilado creado por Google, con una sintaxis parecida a C y tipado estático.
Instalando go en Mac
La manera más sencilla de instalar GO es usando este pequeño script, por defecto para Go tenemos que indicarle una ruta (PATH) que es donde estarán todos nuestros proyectos. lo mejor es crear una carpeta en nuestra home llamada golang.
Si ejecutamos el script él solo creará carpeta donde le indiquemos.
echo "Please enter your golang path (ex: $HOME/golang) :"
read gopath
echo "Please enter your github username (ex: jeslopcru) :"
read user
mkdir $gopath
mkdir -p $gopath/src/github.com/$user/hello
export GOPATH=$gopath
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
brew update
brew install go
brew install git
go get golang.org/x/tools/cmd/godoc
go get golang.org/x/tools/cmd/vet
go get github.com/golang/lint/golint
echo "visit https://golang.org/doc/code.html and enjoy learning \n"
touch $gopath/src/github.com/$user/hello/hello.go
echo "package main
import \"fmt\"
func main() {
fmt.Println(\"hello, world\")
}" >> $gopath/src/github.com/$user/hello/hello.go
Para montar este script lo que hacemos es copiar estas lineas en un fichero llamado install.sh, le damos al fichero permisos de ejecución con $ chmod +x install.sh
y lo ejecutamos con $ ./install.sh
. Este script nos pedirá la GOPATH (ruta donde alojaremos todos nuestros proyectos en Go dentro de nuestro ordenador)
Ahora solo nos queda añadir unas cuantas variables de entorno al archivo ~/.zshrc
, ~/.profile
o ~/.bashrc
,… en nuestro caso ZSH
export GOPATH=$HOME/golang
export GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
Ejecutando nuestro Hello World
Si hemos ejecutado el script ya tenemos nuestro «hola mundo» en Go. Tan solo tenemos que ir a a la ruta que esta en nuestro GOPATH y abrirlo. Encontraremos algo como esto:
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
Ahora solo tenemos que ejecutar $ go run
y listo, ya tenemos nuestro primer programa en Go funcionando. Tambien podemos compilar nuestro «hello world» usando $ go install
con esto lo que hacemos es compilar y dejar el ejecutable en GOPATH/bin.
Comandos utiles
Algunos comandos útiles para trabajar con go
# conocer la ruta donde colocar los proyectos
echo $GOPATH
# compilar paquetes y dependencias
go build
# descarga e instala paquetes y sus dependencias
go get <package>
# compila e instala paquetes y dependencias
go install
# compila y ejecuta el programa
go run
# saber la version de go
go version
Usando GO IDE
La verdad es podemos usar el IDE que queramos, a mi encanta PHPStorm, quizás ya lo sepas despues de haber leído sacando partido a PHPStorm, como refactorizar utilizando PHPStorm o atajos de teclado para PHPStorm. Por eso buscando plugins para Go en PHPStorm encontramos este: https://plugins.jetbrains.com/idea/plugin/5047-go
Para configurarlo solo tenemos que indicar la ruta al SDK de go (/usr/local/Cellar/go/1.7.4_2/libexec)
y para ejecutar nuestro «hello world» solo tenemos que hacer clic derecho sobre el archivo, clicar en run y listo. Ya tenemos todo funcionando.
Sacando partido a Go
Una de las mejores cosas que tiene go, es que podemos descargarnos librerías y usarlas en nuestro proyecto, para empezar podemos descargar y configurar GoLint. GoLint es una herramienta que indenta el código de manera correcta, así escribiremos código más agradable.
Para instalarlo solo tenemos que ejecutar
go get github.com/golang/lint/golint
Para configurarlo en PHPStorm:
- abrir preferencias (PHPStorm -> preferences)
- Ir a Tools -> External Tools
- Pulsar sobre el +
- Rellenar
- Name: GoLint
- Group: External Tool
- Marcar los 4 checks ( Synchronize files after execution, Open console, Sow console when a message is printed to stdout/stderr)
- Program: Ruta hasta goLint (
$GOPATH/bin/golint
) - Parameters: Vacío
- Working directory:
$ProjectFileDir$
Listo. Con esto ya tenemos PHPStorm funcionando para programar con Go.
BOLA EXTRA: GOGLAND El nuevo IDE para Go de JetBrains
Pues sí, los chicos de JetBrains han sacado un IDE para Go llamado Gogland. Yo lo he estado probando y la verdad es que solo tenemos que indicar el GO SDK y listo, ya lo tenemos funcionando.
Aprendiendo GO
Ahora solo tenemos que empezar ha hacer ejercicios con GO. Esto son algunas webs y tutoriales para empezar con GO
- El manual de Go: https://golang.org/doc/code.html
- Go Tour: https://go-tour-es.appspot.com
- Go By example: https://gobyexample.com/
- Exercism.io: http://exercism.io/languages/go/about
- Go Bootcamp: http://www.golangbootcamp.com/
- Golang book: http://www.golang-book.com/
Un comentario en “Instalando Go: Primeros pasos”