Go Tutorial
Empezando con Go
Buscar..
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 |
¡Hola Mundo!
Coloque el siguiente código en un nombre de archivo hello.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, 世界")
}
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.
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)
}
}
}
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
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]
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. . .
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.