Go言語の開発環境構築(Mac + SublimeText3)
はじめに
自分がやった方法をメモしておく。環境は以下。
- macOS High Sierra version 10.13.3
- homebrew:1.5.4
Goのインストール
homebrewから素直に落とす。以上。
brew install go
初期設定
Goの作業場所として$GOPATH
を設定する必要がある。
公式の標準としては$HOME/go
らしいが、別にどこでもいい。
ただ、途中で変えるのはあまり良くないらしいので気をつける。
自分は標準で構わないのでPATHの設定をする。
bashを使ってる人は下記を~/.bash_profile
に追記。
export GOPATH=${HOME}/go
export PATH=$GOPATH/bin:$PATH
ターミナルを再起動する。
作業ディレクトリの作成
Goのルールに従って標準のディレクトリを作成する。
mkdir $GOPATH
cd $GOPATH
mkdir src pkg bin
構造はこんな感じになる。
go
├── bin
├── pkg
└── src
それぞれのディレクトリの役割として、
- bin:実行ファイルを置く
- pkg:パッケージを置く
- src:ソースファイルを置く
となっている。
とりあえず書いてみる
ひとまず動くか確認。src配下にhello.go
を作成し、下記のコードを書く。
package main
import "fmt"
func main() {
fmt.Printf("Hello, world.\n")
}
実行して動くか確認。Goの実行はrun
コマンドで行う。
cd $GOPATH/src
go run hello.go
Hello, world.
が表示されたらおっけー。
このファイルはもういらないので消しておく。
Sublime用プラグインの導入
下記記事の通りにやってみる。
Sublime Text(Atom)で快適なgolangの開発環境
依存パッケージをgo get
でインストールする。
このコマンドはどこで実行しても良い。
go get golang.org/x/tools/cmd/goimports
go get github.com/golang/lint/golint
これらは$GOPATH/src
配下に展開される。
次にSublime TextのPackage ControlでGoSublime
をインストールする。
インストール後、Package Settings -> GoSublime -> Segttings-Userを開き、下記の設定をコピペで貼り付ける。
{
"fmt_cmd": ["goimports"],
"comp_lint_enabled": false,
"on_save": [
{
"cmd": "gs9o_open",
"args": {
"run": ["sh", "go build . errors && go vet && golint"],
"focus_view": false
}
}]
}
コードを書いて保存するとエラーチェックとフォーマットが走る。
補完も一応効いてるっぽい。
開発の流れ
公式にGo言語における様々なルールが書いてあるので、ここを参考に。
How to Write Go Code
基本的に自分の開発ディレクトリはsrc配下にgithubのURLで作る。
例えばこんな感じ↓
mkdir -p $GOPATH/src/github.com/[githubのユーザ名]
なので、hello
というプロジェクトで開発したいなーと思ったら、
mkdir -p $GOPATH/src/github.com/[githubのユーザ名]/hello
みたいな感じでディレクトリを切って開発していけばよい。
自分のGoディレクトリに移動するのがダルいので、以下のようにエイリアスを貼ると良いかも。
alias gogo="cd $GOPATH/src/github.com/[githubのユーザ名]"
Goのルールに従うと便利になる的な話が公式に書いてあるが、疲れたので次回。
おわりに
続きをそのうち書くかもしれない。
Author And Source
この問題について(Go言語の開発環境構築(Mac + SublimeText3)), 我々は、より多くの情報をここで見つけました https://qiita.com/hunzy/items/08d698ae652700ad0c25著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .