プログラミング言語を学習するときは、基本的な構文に加えて、実際のプロジェクトでの使用方法を理解することがより重要です。この記事では、Go 言語のインストール、環境の構成、IDE のインストール、および Hello World プログラムの最初からの開発を協力して行います。この Hello World バージョンには、GOPATH バージョンと Go Module バージョンの 2 つのバージョンを書きます。
Q:
このチュートリアルには 2 つのバージョンがあるのはなぜですか?
A:
インターネット上のほとんどの Go 言語 Hello World では、GOPATH バージョンが簡単に紹介されているだけです。ただし、Go のバージョン 1.11 以降、アプリケーションの構築に GOPATH を使用することは推奨されなくなりました。言い換えれば、GOPATH は時代遅れであり、間違ったアプローチであると考えられています。
正しいアプローチは、Go モジュールを使用することです。したがって、初心者にチュートリアルでこの情報を伝え、推奨されるベスト プラクティス Go モジュールを使用するようにガイドする必要があります。
おそらく、これが、この Hello World チュートリアルとインターネット上のほとんどのチュートリアルの違いでもあります。開発者が実際に使用するところから始まります。 Go言語の開発の歴史とベストプラクティスを紹介します。
Go のインストール
Go 言語で開発するには、最初のステップは Go をインストールすることです。
ステップ 1: Go 言語の公式 Web サイト https://golang.org にアクセスします。 「ダウンロードする」をクリックします。はい、それはあの愚かなグラウンドホッグです ^_^
ステップ 2: オペレーティング システムに応じて、対応するソフトウェア パッケージをダウンロードしてインストールします。
Golang は、Windows、MacOS、Linux などの主流のオペレーティング システムをサポートしています。
この一連のチュートリアルでは、MacOS オペレーティング システムを使用するため、「Apple macOS」をダウンロードすることを選択します。誰もが自分のオペレーティング システムに従ってダウンロードする必要があります。
ステップ 3: Go をインストールします。
MacOS での Go のインストールは非常に簡単です。標準の DMG ファイル インストールです。「次へ」をクリックするだけです。
ステップ 4: Go が正常にインストールされているかどうかを確認します。
コマンド「go version」を実行すると、「go version go1.12.9 darwin/amd64」のような内容が出力されます。パッケージに誤りがないかご確認ください。
環境の構成
他の開発言語と同様、Go をインストールした後、それに応じて開発環境を構成する必要があります。たとえば、Java の場合、JAVA_HOME、MAVEN などを設定する必要があります。
Go 開発に関連する環境変数は次のとおりです:
#●GOPATH: GOPATH は go プロジェクトのコードを保存します。
GOROOTGOROOT は Go のインストール パスです。 Mac に Go をインストールすると、GOROOT が自動的に構成され、パスは
/usr/local/go になります。ほとんどの場合、GOROOT を変更する必要はありません。以下は GOROOT ディレクトリの内容です (一部の関係のない情報は省略されています): tree -L 2 /usr/local/go
./
├── bin
│ ├── go
│ └── gofmt
├── doc
│ ├── articles
│ └── docs.html
├── src
│ ├── errors
│ ├── fmt
│ ├── log
│ └── os
ツールと gofmt ツールがあります。 GOOROOT は Java の JDK ディレクトリに似ていると考えられます。
GOPATHGOPATH は、開発時の作業ディレクトリです。用途:
# コンパイルされたバイナリ ファイルを保存します。
# go get および go install コマンドは、go コードを GOPATH にダウンロードします。
# パッケージをインポートする際の検索パス。
GOPATH には特別な注意を払う必要があります。 Go のバージョン 1.11 より前では、GOPATH が必須であり、すべての Go プロジェクト コードを GOPATH ディレクトリに保存する必要がありました。 Go バージョン 1.11 以降、GO は Go モジュールを正式に導入しました。 Go Module を使用して管理されるプロジェクトは、GOPATH ディレクトリの外に配置できます。
GOPATH を使用する場合、GO は次のディレクトリでパッケージを検索します:
1. GOROOT/src: このディレクトリには Go 標準ライブラリ コードが保存されます。
2. GOPATH/src: このディレクトリには、アプリケーション自身のコードとサードパーティの依存関係のコードが保存されます。
次のパッケージがプログラムに導入されているとします:
import "github.com/tom/hello-go/foo/bar"
最初のステップ: Go は最初に GOROOT の scr ディレクトリを検索します。明らかに、これは標準ライブラリ パッケージではなく、見つかった。
ステップ 2: GOPATH の src ディレクトリの検索を続けます。正確には、ディレクトリ
GOPATH/src/github.com/tom/hello-go/foo/bar です。 。ディレクトリが存在しない場合は、パッケージが見つからないというエラーが報告されます。 GOPATH を使用してプロジェクトを管理する場合は、パッケージを検索するための GO の仕様に従って Go コードを適切に保存し、整理する必要があります。 Go的这个“将所有代码都放置在GOPATH中”的设计,的确是和其他主流语言很不一样。不管Go官方是出于什么考虑,这个设计在实际使用中,的确给开发者造成了很大的不便和理解上的困难。甚至直接劝退了很多Go的初学者。 万幸的是,Go Module正式发布了。Go Module的发布解决了困扰Go语言长达十年的代码组织,依赖管理问题。 说明:关于GOPATH和Go Module的历史渊源,详细使用,会在另一篇进行说明。本文还是聚焦在Hello World入门。 另外,由于某些原因,Go的某些托管在Google仓库中的代码在国内是无法访问的。如果使用Go Module,我们可以设置GOPROXY,让Go从GOPROXYGo 言語の Hello world の 2 つのバージョンをご存知ですか?代码,速度更快。国内用户可以设置GOPROXY为https://goproxy.cn,使用如下命令来设置GOPROXY: 关于环境配置,总结下来就是: ● 如果使用Go Module(推荐的),设置export GOPROXY=https://goproxy.cn。 ● 如果使用GOPATH(遗留的,被废弃的),需要设置GOPATH到本地的某个目录。 安装IDE 目前比较常用的IDE有: ● Visual Studio Code ● GoLand Visual Studio Code是微软开发的一款开源的,轻量级的文本编辑器。通过安装Go插件,可以用于Go语言的开发。GoLand是JetBrains公司开发的,专业的Go语言开发IDE。 推荐使用GoLand。很多人都说Visual Studio Code更轻量级,但作为一款每天都要重度使用的,需要靠它吃饭的工具,我们需要的是功能全面。尤其是当你需要完备的调试,需要强大的IDE智能辅助功能时,相信你会选择更专业的GoLand。 GoLand的官方主页为https://www.jetbrains.com/go/,点击“Download”即可下载 注意 GoLand是收费软件,只有30天的试用期。试用期结束后,需要购买授权。当然在天朝,我们都习惯不花钱用软件。大家可以自行百度或google搜索一下。 Hello World(GOPATH版) 第一步:设置GOPATH 首先设置GOPATH,假设GOPATH设置为$HOME/worspace/go。 第二步:创建子目录 进入$HOME/workspace/go目录。新建子目录src。然后再src中新建子目录hello。在hello目录,新建一个hello-world.go文件: 目录结构应该如下所示: 第三步:创建hello-world.go文件: 第四步:执行go build 在$HOME/workspace/go目录执行命令: 会生成一个可执行二进制文件:hello。如果是Windows系统,会生成hello.exe文件。 输出“hello world”。 Hello World(GO Module版) 第一步:创建项目的根目录 任意创建一个目录(可以不在GOPATH中),假设是$HOME/tmp/hello。 第二步:初始化Go模块 执行命令: 该命令会将hello目录初始化为一个Go module,并生成一个$HOME/tmp/hello/go.mod文件。内容如下: 第三步:编写hello.go文件 编写文件$HOME/tmp/hello/hello.go: 第四步:编辑go.mod文件: 在实际项目中,都会使用到第三方库。可以在Go Module中添加项目的依赖。本例中,我们会添加一个quote依赖,该依赖会打印当前语言的“Hello World”,比如,如果是中文环境,会打印“你好,世界”。 编辑go.mod文件,添加quote依赖: 第五步:执行go build 执行go build,会生成可执行文件$HOME/tmp/hello/hello。 第六步:执行hello文件 执行hello文件,输出“你好,世界”。 推荐:go语言教程 export GOPROXY=https://goproxy.cn
GoLand使用的是和IntelliJ IDEA一样的框架,是用Java语言开发的。你需要安装Java环境才可以运行GoLand哦。$HOME
workspace
go
src
hello
hello-world.go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
go build
第五步:运行hello文件:./hello
hello world
go mod init github.com/vangoleo/hello
module github.com/vangoleo/hello
go 1.12
package main
import (
"fmt"
"rsc.io/quote"
)
func main() {
fmt.Println(quote.Hello())
}
module github.com/vangoleo/hello
go 1.12
require rsc.io/quote v1.5.2
以上がGo 言語の Hello world の 2 つのバージョンをご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。