Go
https://gyazo.com/d1655a99170d41e08705de0664dcbe36
言語特徴
行ったこと
~More types: structs, slices, and maps.
関数書き方
code:function.go
// (引数,引数... 型)
//(返り値,返り値... 型)
func whoAreYou (first,last string)(name stirng){
name = first + last
//naked return
return
}
変数書き方
code:value.go
//変数型付け
var i, j int = 1,2
//初期値に合わせて、自動型付け
var c, python, java = true, false, "no!"
//関数内のvar省略 暗黙的型宣言 :=
func main() {
var i, j int = 1, 2
k := 3
c, python, java := true, false, "no!"
fmt.Println(i, j, k, c, python, java)
}
型種類
hr.icon
初期環境設定
インストール
code:go.sh
brew install go
GOROOT設定
インストール後からディレクトリを変更すると、設定必要
code:go.sh
go env GOROOT //GOROOTわかる
GOPATH設定
外部パッケージのリソースが保存されるパス(通すの必須!)
code:go.sh
export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH/bin
hr.icon
パッケージ
ソースコードリポジトリから直接インストール(あまりオススメでない)
最新版が入る(≠安定版)
バイナリにビルド情報などが埋め込まれない
code:go.sh
go get github.com/motemen/gore/cmd/gore
go srcの階層見る
入ってるパッケージなどわかる
code:go.sh
tree -L 3 $GOPATH/src
hr.icon
プロジェクト管理
階層構造でソースコードリポジトリを取得、管理するためのツール
初期設定
code:go.sh
brew install ghq //インストール
//ソースコードを$GOPATH/src 以下で管理
git config --global ghq.root $GOPATH/src
code:ghq.sh
ghq list //存在するリポジトリ取得
hr.icon
フォーマッター
gofmt
goimports(まだ入れてない)
パッケージの自動読み込み、削除
hr.icon
lintツール
go vet 未インストール
golint 未インストール
hr.icon
ドキュメント閲覧ツール
go doc
標準のドキュメント閲覧ツール
godoc
httpサーバを立ててブラウザでドキュメント閲覧可能
hr.icon
パッケージ管理
vendoring
Modules
hr.icon
タスクランナー
Makefile
hr.icon
作業
cd go/src/
github
go.org
hr.icon
参考記事
スライド