Установка языка Go

Установка языка Go

Как правильно установить и настроить язык Go в Ubuntu. Есть много пакетов на выбор, но какие пакеты мне нужно установить и что мне нужно настроить после этого, чтобы иметь возможность использовать любой из пакетов Go без ошибки «не удается найти пакет» или других базовых ошибок такого рода.

Я установил golangпакет, но нужно ли мне устанавливать какие-то дополнительные пакеты или настраивать что-то еще?

В качестве примера попробуйте выполнить следующее:

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)
}

решение1

golangДостаточно установить метапакет:

sudo apt-get install golang

«Этот пакет представляет собой метапакет, который при установке гарантирует установку (большой части) полной среды разработки Go». Итак, после этого все, что вам нужно, это ввести go helpдля основных команд:

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

Сделать hello world в gedit. Пример из ихВеб-сайт:

package main

import "fmt"

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

(сохраните как hello.go)

Выполнение ...

 go run hello.go

урожайность ...

 Hello world


идти на пробежкупозволяет использовать she-bang. ЧитайтеЭта темаХотя. Вышеприведенный пример может быть:

#!/usr/bin/gorun    
package main

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

И делаем его исполняемым:

chmod +x hello.go
./hello.go

урожайность ...

Hello world!

(я сам добавил \n)


В вашем примере есть ошибка:

импорт httpдолжен бытьnet/http

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

решение2

Я использую Golang уже 2 недели и хочу поделиться с вами информацией о том, как установить последнюю версию Go (v1.3.1) на Ubuntu 13.x / 14.x.

Перейти к V1.3

Папка по умолчанию: /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

Настройте переменные среды

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

[При необходимости обновите версию GO через систему контроля версий]

cd /usr/lib/go
hg update release

!!! Переподключите SSH-терминал для выполнения нового .bashrc

Проверьте настройки среды

go env

Создайте мою среду разработки. Это может быть что угодно, также ~/go/, если хотите.

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

Соберите двоичный файл и установите его в $GOPATH/bin/

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

Связанный контент