web-dev-qa-db-fra.com

Installer la langue Go

Comment installer et configurer correctement le langage Go dans Ubuntu. Il existe de nombreux packages parmi lesquels choisir, mais quels packages dois-je installer et que dois-je configurer par la suite pour pouvoir utiliser l'un des packages Go sans avoir d'erreur "impossible de trouver le package" ou d'autres erreurs de base de ce genre.

J'ai installé le paquetage golang, mais dois-je en installer d'autres ou en configurer un autre?

Par exemple, essayez de lancer ce qui suit:

package main

import (
        "http"
        "log"
)

func HelloServer(w http.ResponseWriter, req *http.Request) {
    w.Header().Set("Content-Type", "text/plain")
    w.Header().Set("Connection", "keep-alive")
        w.Write([]byte("hello, world!\n"))
}
func main() {
        http.HandleFunc("/", HelloServer)
        log.Println("Serving at http://127.0.0.1:8080/")
        http.ListenAndServe(":8080", nil)
}
4
Luis Alvarado

L'installation du métapaquet golang devrait suffire:

Sudo apt-get install golang

"Ce package est un métapaquet qui, une fois installé, garantit qu'un environnement de développement Go complet est (pour la plupart) installé." Donc, après cela, tout ce dont vous avez besoin est de taper go help pour les commandes de base:

Go is a tool for managing Go source code.

Usage:

go command [arguments]

The commands are:

build       compile packages and dependencies
clean       remove object files
env         print Go environment information
fix         run go tool fix on packages
fmt         run gofmt on package sources
get         download and install packages and dependencies
install     compile and install packages and dependencies
list        list packages
run         compile and run Go program
test        test packages
tool        run specified go tool
version     print Go version
vet         run go tool vet on packages

Faites un monde bonjour avec gedit. Exemple de leur site web :

package main

import "fmt"

func main() {
    fmt.Println("Hello world\n")
}

(enregistrez-le sous le nom hello.go)

Exécuter ...

 go run hello.go

les rendements ...

 Hello world


gorun vous permet d'utiliser un she-bang. Ne lisez ce sujet si. L'exemple ci-dessus peut alors être:

#!/usr/bin/gorun    
package main

func main() {
    println("Hello world!\n")
}

Et en le rendant exécutable:

chmod +x hello.go
./hello.go

les rendements ...

Hello world!

(J'ai ajouté le\n moi-même)


Votre exemple a une erreur:

importer http doit être net/http

go run test.go
2014/05/10 20:15:00 Serving at http://127.0.0.1:8080/
6
Rinzwind

J'utilise Golang depuis 2 semaines maintenant et je veux partager comment installer la dernière version de Go (v1.3.1) sur Ubuntu 13.x/14.x.

Go V1.3

Dossier par défaut:/usr/lib/go

cd /usr/lib/
apt-get install Mercurial
hg clone -u release https://code.google.com/p/go
cd /usr/lib/go/src
./all.bash

Configurer les variables d'environnement

ll /usr/lib/go
nano ~/.bashrc

# append this to your script
export GOPATH=/srv/go
if [ -d "/usr/lib/go/bin" ] ; then
    PATH="${GOPATH}/bin:/usr/lib/go/bin:${PATH}"
fi

[Mettez à jour la version de GO via Version Control ultérieurement si nécessaire]

cd /usr/lib/go
hg update release

!!! Reconnectez le terminal SSH pour exécuter le nouveau fichier .bashrc

Vérifiez les paramètres de l'environnement

go env

Créer mon environnement de développement. Cela peut être n'importe quoi aussi ~/go/si vous voulez.

mkdir -p /srv/go
cd    /srv/go/
mkdir -p $GOPATH/src/github.com/username

Essai

mkdir -p $GOPATH/src/github.com/username/hello
cd    $GOPATH/src/github.com/username/hello
nano hello.go

package main
import "fmt"
func main() {
    fmt.Printf("goeiedag, wereld\n")
}

Exécuter

go run hello.go

Construisez le binaire et installez-le dans $ GOPATH/bin /

cd $GOPATH/src/github.com/username/hello
go install
ll $GOPATH/bin/
hello
2
Rolf