前書き

https://golang.org [Go]は、Googleの不満から生まれたプログラミング言語です。 開発者は、効率的に実行されるがコンパイルに長い時間を要する言語を選択するか、プログラミングは容易であるが生産では非効率的に実行される言語を選択する必要がありました。 Goは、3つのすべてを同時に使用できるように設計されています。つまり、高速コンパイル、プログラミングの容易さ、および運用環境での効率的な実行です。

Goは、さまざまなプログラミングプロジェクトで使用できる汎用プログラミング言語ですが、ネットワーク/分散システムプログラムに特に適し、「クラウドの言語」としての評価を得ています。現代のプログラマーの支援に焦点を当てています。強力なツールセットにより、言語仕様の一部をフォーマットにすることでフォーマットに関する議論を排除し、単一のバイナリにコンパイルすることで展開を容易にします。 Goは非常に少ないキーワードセットで習得しやすく、初心者にも経験豊富な開発者にも最適な選択肢です。

このチュートリアルでは、ローカルのmacOSマシンにGoをインストールし、コマンドラインからプログラミングワークスペースをセットアップする方法を説明します。

前提条件

インターネットに接続された管理アクセスを備えたmacOSコンピューターが必要です。

ステップ1-ターミナルを開く

コマンドラインでインストールとセットアップのほとんどを完了します。これは、コンピューターと対話する非グラフィカルな方法です。 つまり、ボタンをクリックする代わりに、テキストを入力し、テキストを介してコンピューターからフィードバックを受け取ります。 コマンドライン(シェルとも呼ばれる)は、コンピューターで毎日行うタスクの多くを変更および自動化するのに役立ち、ソフトウェア開発者にとって不可欠なツールです。

macOSターミナルは、コマンドラインインターフェイスにアクセスするために使用できるアプリケーションです。 他のアプリケーションと同様に、Finderに移動し、Applicationsフォルダーに移動してから、Utilitiesフォルダーに移動して見つけることができます。 ここから、他のアプリケーションと同様にターミナルをダブルクリックして開きます。 または、 `+ CMD `キーと ` SPACE +`キーを押して表示されるボックスに入力してターミナルを見つけると、Spotlightを使用できます。

image:https://assets.digitalocean.com/articles/eng_python/OSXSetUp/MacOSXSetUp.png [macOS Terminal]

より強力なことを実行できるようにするために、学ぶべきターミナルコマンドがさらにたくさんあります。 「https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal[Linuxターミナルの紹介]」という記事は、Linuxターミナルの方向性をより良くすることができます。 macOSターミナルへ。

ターミナルを開いたので、Goをインストールするために必要な開発者ツールのパッケージであるhttps://developer.apple.com/xcode/[Xcode]をダウンロードしてインストールできます。

ステップ2-Xcodeのインストール

Xcodeは、macOS用のソフトウェア開発ツールで構成される_統合開発環境_(IDE)です。 「ターミナル」ウィンドウで次を入力して、Xcodeがすでにインストールされているかどうかを確認できます。

xcode-select -p

次の出力は、Xcodeがインストールされていることを意味します。

Output/Library/Developer/CommandLineTools

エラーを受け取った場合は、Webブラウザーにhttps://itunes.apple.com/us/app/xcode/id497799835?mt=12&ign-mpt=uo%3D2[App StoreからのXcode]をインストールし、デフォルトを受け入れますオプション。

Xcodeをインストールしたら、ターミナルウィンドウに戻ります。 次に、Xcodeの個別のコマンドラインツールアプリをインストールする必要があります。これは、次のように入力して実行できます。

xcode-select --install

この時点で、Xcodeとそのコマンドラインツールアプリは完全にインストールされ、パッケージマネージャーHomebrewをインストールする準備が整いました。

ステップ3-Homebrewのインストールと設定

macOSターミナルにはLinuxターミナルや他のUnixシステムの多くの機能がありますが、ベストプラクティスに対応するパッケージマネージャーは付属していません。 パッケージマネージャー*は、初期ソフトウェアのインストール、ソフトウェアのアップグレードと構成、および必要に応じたソフトウェアの削除を含むインストールプロセスを自動化するために機能するソフトウェアツールのコレクションです。 インストールは中央の場所に保持され、一般的に使用される形式でシステム上のすべてのソフトウェアパッケージを維持できます。 *Homebrewは、macOSへのソフトウェアのインストールを簡素化する無料のオープンソースソフトウェアパッケージ管理システムをmacOSに提供します。

Homebrewをインストールするには、これをターミナルウィンドウに入力します。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

HomebrewはRubyで作成されているため、コンピューターのRubyパスを変更します。 `+ curl +`コマンドは、指定されたURLからスクリプトをプルします。 このスクリプトはそれが何をするのかを説明し、確認のためにプロセスを一時停止します。 これにより、スクリプトがシステムに対して実行することに関する多くのフィードバックが提供され、プロセスを検証する機会が与えられます。

パスワードを入力する必要がある場合、キーストロークは「ターミナル」ウィンドウに表示されず、記録されます。 パスワードを入力したら、「+ return 」キーを押すだけです。 それ以外の場合は、インストールの確認を求めるプロンプトが表示されたら、「yes」を表す文字「 y +」を押します。

`+ curl +`コマンドに関連付けられているフラグを見ていきましょう。

  • `+ -f `または `-fail +`フラグは、サーバーエラー時にHTMLドキュメントを出力しないようにターミナルウィンドウに指示します。

  • `+ -s `または `-silent `フラグは、進行状況メーターを表示しないように ` curl `をミュートし、 ` -S `または `-show-error `フラグと組み合わせると、失敗した場合、 ` curl +`がエラーメッセージを表示するようにします。

  • + -L`または -location and`フラグは、リクエストされたページが別の場所に移動したことをサーバーが報告した場合、リクエストを新しい場所にやり直すように ` curl`に指示します。

インストールプロセスが完了したら、Homebrewディレクトリを `+ PATH +`環境変数の先頭に配置します。 これにより、Homebrewインストールが、作成中の開発環境に反する可能性のあるmacOSが自動的に選択するツールを介して呼び出されます。

`+ nano `コマンドを使用して、コマンドラインテキストエディター* nano *で `〜/ .bash_profile +`ファイルを作成または開く必要があります。

nano ~/.bash_profile

ターミナルウィンドウでファイルが開いたら、次のように記述します。

export PATH=/usr/local/bin:$PATH

変更を保存するには、「+ CTRL」キーと「+ o 」の文字を押しながら、プロンプトが表示されたら「 RETURN」キーを押します。 これで、 + CTRL`キーと文字 + x`を押してnanoを終了できます。

ターミナルで次を実行して、これらの変更を有効にします。

source ~/.bash_profile

これを行うと、 `+ PATH`環境変数に加えた変更が有効になります。

次のように入力して、Homebrewが正常にインストールされたことを確認できます。

brew doctor

この時点で更新が必要ない場合、ターミナルの出力は次のようになります。

OutputYour system is ready to brew.

そうしないと、Homebrewのインストールが最新であることを確認するために、 `+ brew update +`などの別のコマンドを実行するよう警告が表示される場合があります。

Homebrewの準備ができたら、Goをインストールできます。

ステップ4-Goのインストール

Homebrewを使用して、 `+ brew search +`コマンドで利用可能なすべてのパッケージを検索できます。 このチュートリアルでは、Go関連のパッケージまたはモジュールを検索します。

brew search golang

ターミナルは、インストールできるもののリストを出力します:

Outputgolang  golang-migrate

Goはリストの項目に含まれます。 先に進んでインストールしてください:

brew install golang

ターミナルウィンドウは、Goのインストールプロセスに関するフィードバックを提供します。 インストールが完了するまで数分かかる場合があります。

インストールしたGoのバージョンを確認するには、次を入力します。

go version

これにより、現在インストールされているGoの特定のバージョンが出力されます。これは、デフォルトで、利用可能なGoの最新の安定したバージョンになります。

将来、Goを更新するには、次のコマンドを実行して、最初にHomebrewを更新してからGoを更新できます。 最新バージョンをインストールしたばかりなので、今すぐこれを行う必要はありません。

brew update
brew upgrade golang

`+ brew update`はHomebrew自体の式を更新し、インストールするパッケージの最新情報を取得します。 `+ brew upgrade golang `は ` golang +`パッケージをパッケージの最新リリースに更新します。

Goのバージョンが最新であることを確認することをお勧めします。

Goがコンピューターにインストールされたら、Goプロジェクトのワークスペースを作成する準備ができました。

ステップ5-Goワークスペースの作成

Xcode、Homebrew、およびGoがインストールされたので、プログラミングワークスペースを作成できます。

Goワークスペースのルートには2つのディレクトリが含まれます。

  • + src +:Goソースファイルを含むディレクトリ。 ソースファイルは、Goプログラミング言語を使用して記述するファイルです。 Goコンパイラは、ソースファイルを使用して実行可能なバイナリファイルを作成します。

  • + bin +:Goツールによってビルドおよびインストールされた実行可能ファイルを含むディレクトリ。 実行可能ファイルは、システムで実行され、タスクを実行するバイナリファイルです。 これらは通常、ソースコードまたは別のダウンロードされたGoソースコードによってコンパイルされたプログラムです。

`+ src `サブディレクトリには、複数のバージョン管理リポジトリ(https://git-scm.com/[Git]、https://www.mercurial-scm.org/[Mercurial]、http://など)を含めることができますbazaar.canonical.com [Bazaar])。 プログラムがサードパーティのライブラリをインポートするときに、 ` github.com `や ` golang.org `のようなディレクトリが表示されます。 ` github.com `のようなコードリポジトリを使用している場合は、プロジェクトとソースファイルもそのディレクトリに配置します。 これにより、プロジェクト内のコードの標準的なインポートが可能になります。 _Canonical_インポートは、 ` github.com / digitalocean / godo +`などの完全修飾パッケージを参照するインポートです。

典型的なワークスペースは次のようになります。

.
├── bin
│   ├── buffalo                                      # command executable
│   ├── dlv                                          # command executable
│   └── packr                                        # command executable
└── src
   └── github.com
       └── digitalocean
           └── godo
               ├── .git                            # Git reposistory metadata
               ├── account.go                      # package source
               ├── account_test.go                 # test source
               ├── ...
               ├── timestamp.go
               ├── timestamp_test.go
               └── util
                   ├── droplet.go
                   └── droplet_test.go

1.8でのGoワークスペースのデフォルトディレクトリは、ユーザーのホームディレクトリで、 `+ go `サブディレクトリ、または ` $ HOME / go `があります。 1.8より前のバージョンのGoを使用している場合、ワークスペースに ` $ HOME / go +`の場所を使用することをお勧めします。

次のコマンドを発行して、Goワークスペースのディレクトリ構造を作成します。

mkdir -p $HOME/go/{bin,src}

`+ -p `オプションは、ディレクトリにすべての ` parents `が存在しない場合でも作成するように ` mkdir `に指示します。 ` {bin、src} `を使用すると、 ` mkdir `の引数セットが作成され、 ` bin `ディレクトリと ` src +`ディレクトリの両方を作成するように指示されます。

これにより、次のディレクトリ構造が適切に配置されます。

└── $HOME
   └── go
       ├── bin
       └── src

Go 1.8より前は、 `+ $ GOPATH +`というローカル環境変数を設定する必要がありました。 明示的に要求する必要はなくなりましたが、多くのサードパーティツールが設定されているこの変数に依存しているため、それは依然として優れたプラクティスと考えられています。

`〜/ .bash_profile +`に追加することで、 ` $ GOPATH +`を設定できます。

まず、 `+ nano `または好みのテキストエディターで `〜/ .bash_profile +`を開きます。

nano ~/.bash_profile

以下をファイルに追加して、 `+ $ GOPATH +`を設定します。

〜/ .bash_profile

export GOPATH=$HOME/go

Goがツールをコンパイルしてインストールすると、それらは + $ GOPATH / bin +`ディレクトリに置かれます。 便宜上、ワークスペースの `+ / bin`サブディレクトリを 〜/ .bash_profile`の ` PATH`に追加するのが一般的です:

〜/ .bash_profile

export PATH=$PATH:$GOPATH/bin

これで、 `+〜/ .bash_profile +`に次のエントリがあるはずです。

〜/ .bash_profile

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

これにより、システムの任意の場所でGoツールを使用してコンパイルまたはダウンロードしたプログラムを実行できるようになります。

シェルを更新するには、次のコマンドを発行して、作成したばかりのグローバル変数をロードします。

. ~/.bash_profile

+ echo`コマンドを使用して出力を検査することで、 + $ PATH`が更新されたことを確認できます。

echo $PATH

ホームディレクトリに表示される `+ $ GOPATH / bin `が表示されます。 ` sammy `としてログインしている場合、パスに ` / Users / sammy / go / bin +`が表示されます。

Output:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

ワークスペースのルートが作成され、 `+ $ GOPATH +`環境変数が設定されたので、次のディレクトリ構造で将来のプロジェクトを作成します。 この例では、https://www.github.com [github.com]をリポジトリとして使用していることを前提としています。

$GOPATH/src///
$GOPATH/src///

この方法でプロジェクトを構築すると、 `+ go get +`ツールでプロジェクトを利用できるようになります。 また、後で読みやすくなります。

これを確認するには、 `+ go get `コマンドを使用して ` godo +`ライブラリを取得します。

go get github.com/digitalocean/godo

ディレクトリをリストすることで、 `+ godo +`パッケージが正常にダウンロードされたことを確認できます。

ls -l $GOPATH/src/github.com/digitalocean/godo

次のような出力が表示されます。

Output-rw-r--r--  1 sammy  staff   2892 Apr  5 15:56 CHANGELOG.md
-rw-r--r--  1 sammy  staff   1851 Apr  5 15:56 CONTRIBUTING.md
.
.
.
-rw-r--r--  1 sammy  staff   4893 Apr  5 15:56 vpcs.go
-rw-r--r--  1 sammy  staff   4091 Apr  5 15:56 vpcs_test.go

この手順では、Goワークスペースを作成し、必要な環境変数を構成しました。 次のステップでは、コードを使用してワークスペースをテストします。

ステップ6-簡単なプログラムの作成

Goワークスペースをセットアップしたら、次は簡単な「Hello、World!」プログラムを作成します。 これにより、ワークスペースが機能していることを確認し、Goに慣れる機会が得られます。

実際のプロジェクトではなく、単一のGoソースファイルを作成しているため、これを行うためにワークスペースにいる必要はありません。

ホームディレクトリから、 `+ nano +`などのコマンドラインテキストエディターを開き、新しいファイルを作成します。

nano hello.go

ターミナルでテキストファイルが開いたら、プログラムを入力します。

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}

`+ control `キーと ` x `キーを入力してnanoを終了し、ファイルの保存を求められたら ` y +`を押します。

このコードは、 `+ fmt `パッケージを使用し、 ` Hello、World!`を引数として ` Println `関数を呼び出します。 これにより、プログラムの実行時に「 Hello、World!+」というフレーズが端末に出力されます。

`+ nano +`を終了してシェルに戻ったら、プログラムを実行します。

go run hello.go

作成したばかりの `+ hello.go +`プログラムにより、ターミナルは次の出力を生成します。

OutputHello, World!

この手順では、基本的なプログラムを使用して、Goワークスペースが適切に構成されていることを確認しました。

結論

おめでとうございます。 この時点で、ローカルのmacOSマシンにGoプログラミングワークスペースがセットアップされ、コーディングプロジェクトを開始できます!