Go (Español)
Go es un lenguaje de tipo estático con sintaxis derivada de C, agregando gestión de memoria, recolector de basura, seguridad de tipos, algunas capacidades de escritura dinámica, tipos incorporados adicionales tales como matrices de longitud variable y mapas de valores clave y una gran biblioteca estándar.
Instalación
Actualmente, hay dos compiladores para Go, y se pueden instalar desde los repositorios oficiales:
- go: Interfaz con el conjunto de herramientas de compilación que pueden instalarse con el paquete go
- Compilación rápida
- Herramientas oficiales (go get, go doc, etc.)
- Compilación cruzada
- gccgo: frontend para gcc, parte de su colección compiladora, puede instalarse con gcc-go
- Goroutines se convierte en pleno flujo
- Tamaño pequeño del binario (enlazamiento dinámico)
Probar instalación
Para verificar si Go está instalado correctamente, se puede escribir un simple programa a modo de prueba, como el siguiente:
hello.go
package main import "fmt" func main() { fmt.Println("Hola, Arch!") }
Luego, ejecutar con go
:
$ go run hello.go
Hola, Arch!
Compilación con el compilador estándar gc (mismo que go build -compiler=gc hello.go
):
$ go build hello.go
Compilación con gccgo (mismo que go build -compiler=gccgo hello.go
):
$ gccgo hello.go -o hello
$GOPATH
Las dependencias de Go, cuando se usan, por ej. en las declaraciones import
, se buscan en la variable $GOPATH
, y luego - en $GOROOT
(en el directorio de instalación, /usr/lib/go
por defecto). Si se desea usar dependencias externas, no únicamente las que están en $GOROOT
, se debe especificar el área de trabajo en ~/.bash_profile
(o su equivalente):
export GOPATH=~/go
go env
Crear el espacio de trabajo:
$ mkdir -p ~/go/{bin,src}
src
el directorio se usa para guardar los archivos de código fuente, y bin
para los ejecutarlos.
También se puede agregar la ruta a el directorio bin
en $PATH
para ejecutar programas instalados (escritos en el lenguaje de programación Go) donde sea (como, por ejemplo, ls
):
export PATH="$PATH:$GOPATH/bin"
Notese que también se añadió el subdirectorio bin
a la variable $PATH
así se podrá ejecutar cualquier programa instalado requerido.
Ejecute go help gopath
para más información.
Habilitar la compilación cruzada para otras plataformas
El paquete oficial sólo admite arquitecturas de Linux amd64, 386 y arm. Para admitir la compilación cruzada de Darwin, FreeBSD y MS Windows, siga lo siguiente.
No se puede construir /usr/lib/go/src
por sí sólo, por ej. si se configura $GOROOT_BOOTSTRAP
a /usr/lib/go
se obtendrá una advertencia como esta:
$ cd /usr/lib/go/src $ GOROOT_BOOTSTRAP=/usr/lib/go GOOS=darwin GOARCH=amd64 ./make.bash --no-clean ##### Building Go bootstrap tool. cmd/dist ERROR: $GOROOT_BOOTSTRAP must not be set to $GOROOT Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
Para evitar eso, consiga una copia de Go desde https://golang.org/.
~/downloads/go
.Construye tu versión descargada de Go.
$ cd ~/downloads/go/src $ GOROOT_BOOTSTRAP=/usr/lib/go GOOS=linux GOARCH=amd64 ./make.bash --no-clean
Ahora puede construir su sistema. Utilice el comando de arranque.
$ cd /usr/lib/go/src; for os in darwin freebsd windows; do for arch in amd64 386; do sudo GOROOT_BOOTSTRAP="$HOME/downloads/go" GOOS=$os GOARCH=$arch ./make.bash --no-clean; done; done
Para más información, ver FS#30287.
Solución de problemas
Complemento para Jetbrains
Si estás usando el entorno de desarrollo de Jetbrains y el complemento de Go no puede encontrar la ruta hacia el SDK, podrías estar usando un paquete incompatible. Remueve el paquete gcc-go
y reemplazalo con go
. Si la ruta GOPATH esta configurada, el IDE debería ser capaz de buscar el SDK de Go en /usr/lib/go
.