post Image
はじめてのGo(2017年版)

動作環境

go version1.8

前提

とりあえずこっから手動でインストール

http://golang-jp.org/

yumでいれる場合は下記のコマンド

$ sudo yum install -y golang

バージョン確認

$ go version

Hello Go World!

GOPATHの設定

1.

さて、Go初学者にとって最初の壁はGOPATHといっても過言ではないでしょう。
ここは作業ディレクトリに作る、と考えていいと思います。

追記2017/04/02
コメントでGOPATHについてのわかりやすい説明があったので、こちらに追記します。
@tenntenn さんありがとうございます。

GOPATH はインポートパスを解決するために、使われる環境変数ですね。
標準パッケージ以外は、importの後ろに書いたインポートパスから実際のコードを探すために使います。
たとえば、import “hoge/fuga” と書くと、GOPATH以下の$GOPATH/src/hoge/fuga以下を見に行くようになります。

また、go getというコマンドを使うと指定したインポートパスからライブラリなどをダウンロードしてインストールしてくれます。
その際に、インストールする先もGOPATH以下になります。
なお、GOPATHは複数指定できますので、複数指定してあったら、先頭のパスにインストールされます。
go installはダウンロードせずに、インストールだけをするコマンドなので、同様にGOPATH以下にインストールされます。
main関数があるものであれば、$GOPATH/bin以下にインストールされます。

そして、goファイルをbuildしたときのexeファイルをPATH=~として設定しますが、基本的には、$GOPATHの直下に/binフォルダを作り、そこを指定します。
これらの設定を.bash_profileに書き込みます。

$ vi ~/.bash_profile
export GOPATH=/user/go
export PATH=$PATH:$GOPATH/bin

書き込んだら

$ source ~/.bash_profile

で設定を読み込みます。

2.ディレクトリの作成

作ったGOPATHの直下にテンプレートのディレクトリを作成します。

$ cd $GOPATH
$ mkdir src pkg bin

3.githubディレクトリの作成

そして、importするさいにgithubを使う?ので、githubをその下のディレクトリに作成します。

追記2017/04/02
こちらも謎が解決したので引用します。
@tenntenn さんありがとうございます。

GoではGitHubを使うわけではなく、多くのライブラリがGitHub上で公開されており、上記のようにインポートパスを解決するためgithub.comというディレクトリができるわけです。

$mkdir src/github.com
$mkdir src/github.com/"githubアカウント名"

4.プロジェクトフォルダの作成

やっとここの下にプロジェクトフォルダを作成できます。
まだファイルではないので、注意してください。

mkdir "githubアカウント名"/helloGo

5. goファイルを作ります。

$ vim helloGo/helloGo.go
helloGo.go
package main

import "fmt"

func main(){
    fmt.Printf("Hello,Go World")
}

ファイルが出来たら、下記コマンドでビルドします。

$ go install github.com/"githubアカウント名"/helloGo

エラーが出なかったら、これで実行ファイルができています。
生成場所は、1で書いたPATHの指定先です。
ここで書いてるとおりだと、$GOPATH/binにあるので、ここまで飛びます。

$ cd $GOPATH/bin

ここにhelloGoがあるので、実行してみましょう。

$ helloGo

Hello,Go World

お疲れ様でしたm(_ _)m

おまけ:gogland IDEの設定

最近intelijからでたgoglandというIDEが良いという噂で、無料で使えるので、これを導入しました。
ただ、最初の設定がよくわからずハマったので、その対応を書いていきます。(初心者向け)

GOPATHの設定

上で書いたところと同じパスを設定します。
メニューから、
Gogland-EAP->Preference->Go->GOPATH

※GOROOTは設定しなくてもいけるっぽい

作業ディレクトリの編集

デフォルトだと、ホームフォルダ直下にGoglandProjectsというフォルダが作られていて、そこにファイルが格納されるようになってるので、これを上と同じ設定にします。

Gogland-EAP->Preference->Go->ProjectStructure
ここの右側のPATHのリストで、+マークを押すと、新たなパスを追加できます。ここで、4.プロジェクトフォルダの作成と同じディレクトリを指定します。

以上です。これでうまくbuildできるはず。

参考

http://qiita.com/ttsuzo/items/45eb4fc269986df9122c


『 Go 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。