ubuntuにgo言語開発環境をインストールする
周囲
VirtualBox
Ubuntu 18.04
golangをインストールする
システムパッケージ管理ツールを使用してgolangをインストールすると、最新バージョンでなくても通常の使用には影響がありません。
$ sudo apt-get install golang
インストールが完了したら、go versionコマンドを使用してバージョンを表示します
$ go version
ワークスペースを作成
ワークスペースを作成
Goコードはワークスペースに配置する必要があります。これは実際には、3つのサブディレクトリを含むディレクトリです。
- srcディレクトリには、パッケージに編成されたGoソースファイルが含まれています(各ディレクトリはパッケージに対応しています)。
- pkgディレクトリには、パッケージオブジェクトが含まれています。
- binディレクトリには実行可能なコマンドが含まれています
mkdirコマンドを使用してワークスペースを作成する
$ mkdir $HOME/go
GOPATH環境変数を構成する
GOPATH環境変数は、ワークスペースの場所を示します(この場所は、goインストールディレクトリと同じにすることはできません)。
$ export GOPATH=$HOME/go
このワークスペースのbinサブディレクトリをPATHに追加します
$ export PATH=$PATH:$GOPATH/bin
次に、構成を実行します
$ source $HOME/.profile
構成が成功したら、go envを使用して構成を確認できます
$ go env
パッケージパスを作成する
ワークスペースにフォルダーを作成してソースファイルを保存します
$ mkdir -p $GOPATH/src/github.com/user
Hello Worldを作成してください!
まずパッケージパスを選択してから、対応するフォルダーにファイルを作成します
$ mkdir $GOPATH/src/github.com/user/hello
helloディレクトリにhello.goファイル
hello.goを作成します。
package main
import "fmt"
func main() {
fmt.Printf("Hello World!\n")
}
次に、helloディレクトリに入り、ファイルを実行します
$ go run hello.go
必要なツールとプラグインをインストールする
gitをインストールする
$ sudo apt-get install git
ソースコードをダウンロード
# 创建文件夹(该命令要加-p,因为文件目录还不存在)
$ mkdir -p $GOPATH/src/golang.org/x/
# 下载源码
$ go get -d github.com/golang/tools
# copy
$ cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
インストールキット
$ go install golang.org/x/tools/go/buildutil
helloプログラムをインストールして実行する
$ go install github.com/user/hello
このコマンドは、helloという名前の実行可能なバイナリファイルを作成し、ワークスペースのbinファイルの下にインストールして、helloコマンドをビルドします。
注:ファイルを変更する場合は、プログラムを再ビルドする必要があります。それ以外の場合は、実行可能ですバイナリはまだ前のファイルであり、ファイルの実行結果は変わりません
ゴーツアーをインストール
$ go get github.com/Go-zh/tour/gotour
$ gotour
私の最初のパッケージとテスト
あなたの最初の図書館
独自のライブラリを作成し、helloプログラムで使用できるようにします。
パッケージパスを選択し、ディレクトリを作成します
$ mkdir $GOPATH/src/github.com/user/stringutil
ディレクトリにreverse.goファイルを作成する
// stringutil 包含有用于处理字符串的工具函数。
package stringutil
// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
go buildコマンドでファイルをビルドする
$ go build github.com/user/stringutil
前のhelloプログラムを変更して、作成したライブラリを使用します
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
go installでhelloファイルを再インストールします
$ go install github.com/user/hello
テスト
Goには軽量のテストフレームワークがあり、go testコマンドとテストパッケージで構成されています。
名前が_test.goで終わり、TestXXXという名前の関数が含まれ、func(t * testing.T)として署名されたファイルを作成して、テストを作成できます。テストフレームワークはこれらの各関数を実行します。関数がt.Errorやt.Failなどの失敗を示す関数を呼び出す場合、テストは失敗を示します。
$ GOPATH / src / github.com / user / stringutil / reverse_test.goファイルを作成して、stringutilのテストを追加できます。
package stringutil
import "testing"
func TestReverse(t *testing.T) {
cases := []struct {
in, want string
}{
{"Hello, world", "dlrow ,olleH"},
{"Hello, 世界", "界世 ,olleH"},
{"", ""},
}
for _, c := range cases {
got := Reverse(c.in)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
}
}
}
go testを使用してテストする
$ go test github.com/user/stringutil
問題の概要
1.ワークスペースファイルとディレクトリファイルを作成するときは、パスの正確さに注意してください
。ファイルの作成時にパスが存在しない場合は、-pパラメータを追加してください。2.プログラムを変更するたびに、一時命令を再インストールして一時命令を更新する必要があります。それ以外の場合は、以前の実行可能ファイルを実行します