GoEmpezando con Go


Observaciones

Go es un lenguaje de código abierto, compilado y tipificado estáticamente según la tradición de Algol y C. Cuenta con características como recolección de basura, tipificación estructural limitada, funciones de seguridad de la memoria y programación concurrente de estilo CSP fácil de usar.

Versiones

La última versión de la versión principal está en negrita a continuación. Historial de lanzamiento completo se puede encontrar aquí .

Versión Fecha de lanzamiento
1.8.3 2017-05-24
1.8.0 2017-02-16
1.7.0 2016-08-15
1.6.0 2016-02-17
1.5.0 2015-08-19
1.4.0 2014-12-04
1.3.0 2014-06-18
1.2.0 2013-12-01
1.1.0 2013-05-13
1.0.0 2012-03-28

Configurando el medio ambiente

Si Go no está preinstalado en su sistema, puede ir a https://golang.org/dl/ y elegir su plataforma para descargar e instalar Go.

Para configurar un entorno de desarrollo básico de Go, solo deben configurarse algunas de las muchas variables de entorno que afectan el comportamiento de la herramienta de go (consulte: Listado de variables de entorno de Go para obtener una lista completa) (generalmente en el ~/.profile su shell archivo, o equivalente en sistemas operativos similares a Unix).

GOPATH

Al igual que la PATH entorno PATH del sistema, la ruta de Go es una : ( ; en Windows) lista delimitada de directorios donde Go buscará paquetes. La herramienta go get también descargará los paquetes al primer directorio de esta lista.

GOPATH es donde Go configurará las carpetas bin , pkg y src asociadas necesarias para el área de trabajo:

  • src - ubicación de los archivos de origen: .go , .c , .g , .s
  • pkg - ha compilado archivos .a
  • bin - contiene archivos ejecutables construidos por Go

A partir de Go 1.8, la variable de entorno GOPATH tendrá un valor predeterminado si no está configurada. El valor predeterminado es $ HOME / go en Unix / Linux y% USERPROFILE% / go en Windows.

Algunas herramientas asumen que GOPATH contendrá un solo directorio.

GOBIN

El directorio bin donde go install y go get a colocar colocará los binarios después de construir los paquetes main . En general, esto se establece en algún lugar del sistema PATH para que los binarios instalados puedan ejecutarse y descubrirse fácilmente.

GOROOT

Esta es la ubicación de su instalación Go. Se utiliza para encontrar las bibliotecas estándar. Es muy raro tener que configurar esta variable cuando Go incrusta la ruta de compilación en la cadena de herramientas. La configuración de GOROOT es necesaria si el directorio de instalación difiere del directorio de compilación (o el valor establecido al compilar).

Acceso a la documentación fuera de línea

Para la documentación completa, ejecute el comando:

godoc -http=:<port-number>
 

Para un tour de Go (muy recomendable para principiantes en el idioma):

go tool tour
 

Los dos comandos anteriores iniciarán los servidores web con documentación similar a la que se encuentra en línea aquí y aquí, respectivamente.

Para una consulta de referencia rápida desde la línea de comandos, por ejemplo, para fmt.Print:

godoc cmd/fmt Print
# or
go doc fmt Print
 

La ayuda general también está disponible desde la línea de comandos:

go help [command]
 

FizzBuzz

Otro ejemplo de los programas de estilo "Hello World" es FizzBuzz . Este es un ejemplo de una implementación de FizzBuzz. Muy idiomático entra en juego aquí.

package main

// Simple fizzbuzz implementation

import "fmt"

func main() {
    for i := 1; i <= 100; i++ {
        s := ""       
        if i % 3 == 0 {
            s += "Fizz"
        }
        if i % 5 == 0 {
            s += "Buzz"
        }
        if s != "" {
            fmt.Println(s) 
        } else {
            fmt.Println(i) 
        }
    }
}
 

Patio de recreo

¡Hola Mundo!

Coloque el siguiente código en un nombre de archivo hello.go :

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}
 

Patio de recreo

Cuando Go está instalado correctamente, este programa se puede compilar y ejecutar de la siguiente manera:

go run hello.go
 

Salida:

Hello, 世界
 

Una vez que esté satisfecho con el código, se puede compilar en un ejecutable ejecutando:

go build hello.go
 

Esto creará un archivo ejecutable adecuado para su sistema operativo en el directorio actual, que luego puede ejecutar con el siguiente comando:

Linux, OSX y otros sistemas similares a Unix

./hello
 

Windows

hello.exe
 

Nota : los caracteres chinos son importantes porque demuestran que las cadenas Go se almacenan como segmentos de solo lectura de bytes.

Listado de variables de entorno de Go

Las variables de entorno que afectan a la herramienta go pueden verse a través del comando go env [var ...] :

$ go env
GOARCH="amd64"
GOBIN="/home/yourname/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/yourname"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build059426571=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
 

Por defecto imprime la lista como un script de shell; sin embargo, si uno o más nombres de variables se dan como argumentos, imprime el valor de cada variable nombrada.

$go env GOOS GOPATH
linux
/home/yourname
 

Running Go en línea

El patio de juegos Go

Una herramienta poco conocida de Go es The Go Playground . Si uno quiere experimentar con Go sin descargarlo, puede hacerlo fácilmente simplemente. . .

  1. Visitando el Patio de Juegos en su navegador web.
  2. Ingresando su código
  3. Al hacer clic en "Ejecutar"

Compartiendo tu codigo

El Go Playground también tiene herramientas para compartir; Si un usuario presiona el botón "Compartir", se generará un enlace (como este ) que se puede enviar a otras personas para probar y editar.

En acción

The Go Playground en acción