1つは、golangをインストールする
最初に、システム
にgoのバージョンがある
かどうかを確認します。goのバージョンがない場合は、システムパッケージからインストールして、インストールが成功したかどうかを確認します
(後でvscodeで使用されます。システムライブラリを介してsudo apt-getインストールコードをインストールすることもできるため、ここでは繰り返しません)
2、作業ディレクトリを作成する
ホームディレクトリの下に新しいディレクトリgopath(名前は任意)を作成し、このディレクトリの下に3つのサブディレクトリを作成します。
-
src-その中の各サブディレクトリはパッケージです。パッケージの中にGoソースコードファイルがあります
-
pkg-コンパイル後に生成されたパッケージのオブジェクトファイル
-
bin-生成された実行可能ファイル。
3、環境変数を設定する
ホームディレクトリの.bashrcファイルを編集し、最後に次のコンテンツを追加します。
(home / xumy /はホームディレクトリです)上記の構成を有効にするために
実行source ~/.bashrc
します。
実行go env
して、上記の構成が有効かどうかを確認します。
4番目に、最初のgo言語プログラムhello.goを記述します
(https://go-zh.org/doc/code.htmlを参照してください)
ソースファイルは作業ディレクトリのsrcフォルダーに配置する必要があります。以下で独自のパッケージパスを作成できます。ここでは、例としてgithub.com/github-user/helloを使用します。これはC ++のプロジェクトファイルと同等で、すべてプロジェクトに関連していますコードはここに配置できます。
パッケージパスを作成します。
mkdir $GOPATH/src/github.com/github-user/hello -p
このディレクトリにhello.goという名前のファイルを作成します。ファイルの内容は次のとおりです。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
5、いくつかのgoツールをインストールする
vscodeで.goファイルを開くと、一部の拡張機能をインストールするように求められますが、[インストール]をクリックすると失敗します。失敗の理由は、golang.org Webサイトが壁に囲まれているため、golang.org / x / toolsディレクトリをプルすることになりますコンテンツが失敗しました。
手動インストール
(https://github.com/northbright/Notes/blob/master/Golang/china/get-golang-packages-on-golang-org-in-china.mdを参照)
まず、$ GOPATHディレクトリの下にサブディレクトリを作成します。
mkdir -p $GOPATH/src/golang.org/x/
パラメータ-pの機能は、パスが存在しない場合にディレクトリを作成することです。
次に、githubミラーのtoolsディレクトリのソースコードをダウンロードします。
go get -d github.com/golang/tools
次に、最初のステップで作成したディレクトリにツールを移動します
cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
最後に、ツールキットをインストールします
go install golang.org/x/tools/go/buildutil
最後に、vscodeを閉じて再度開きます。プロンプトに従ってインストールすると、結果が表示さ
れます。これで完了です。
6、最初のプログラムを実行する
実施した go install github.com/github-user/hello
このコマンドは、helloコマンドをビルドし、実行可能なバイナリファイルを生成します。次に、バイナリファイルをhello(Windowsではhello.exe)としてワークスペースのbinディレクトリにインストールします。この例では、$ GOPATH / bin / hello、具体的には$ HOME / go / bin / helloです。
このコマンドは任意のパスで実行できることに注意してください。goツールは、GOPATHで指定されたワークスペースに従ってgithub.com/user/helloパッケージでソースコードを検索します。
これで、コマンドラインにフルパスを入力して実行できます。
$GOPATH/bin/hello
$ GOPATH / binがPATHに追加されている場合は、バイナリファイル名を入力するだけです。
hello
この時点で、goのインストールプロセスは終了しています。以下にいくつかの拡張機能を示します。
7、インストールしてツアーを実行
(詳細スタンプhttps://github.com/Go-zh/tour)
。次のようにgithubのダウンロードが遅すぎるので、あなたがツアーディレクトリ内のみをgotourインストールすることができた結果は以下のとおりです。
8.初めてのライブラリとテスト
(詳細なスタンプhttps://go-zh.org/doc/code.html)
ライブラリを作成し、hello.goにこのライブラリで定義されたメソッドを使用させる必要があります。
プログラムの作成と同様に、最初のステップは、ライブラリーのパッケージパスを作成することです。
mkdir $GOPATH/src/github.com/github-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
stringutilパッケージがビルドされたことを確認したら、元のhello.goファイル($ GOPATH / src / github.com / github-user / helloにあります)を変更して使用します。
package main
import (
"fmt"
"github.com/github-user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
最後に、helloプログラムの再インストール後に実行できます(goは、stringutilを含め、helloプログラムが依存するすべてのものを自動的にインストールします)。
Goには軽量のテストフレームワークがあります。名前が_test.goで終わり、TestXXXという名前でfunc(t * testing.T)として署名された関数を含むファイルを作成して、テストを作成できます。テストフレームワークはこれらの各関数を実行します。関数がt.Errorやt.Failなどの失敗を示す関数を呼び出す場合、テストは失敗を示します。
$ GOPATH / src / github.com / github-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 github.com/github-user/stringutil
コマンドを使用してテストを実行します