Instalando Go: Primeros pasos

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.

22207522091_3f77916264_z

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)

configgo.png

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

Anuncios

Comenta la entrada

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s