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)
}
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/
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.
cd /usr/lib/
apt-get install Mercurial
hg clone -u release https://code.google.com/p/go
cd /usr/lib/go/src
./all.bash
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
cd /usr/lib/go
hg update release
go env
mkdir -p /srv/go
cd /srv/go/
mkdir -p $GOPATH/src/github.com/username
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")
}
go run hello.go
cd $GOPATH/src/github.com/username/hello
go install
ll $GOPATH/bin/
hello