読者です 読者をやめる 読者になる 読者になる

メモ書き

自分が後で見直すためにつけている作業のメモ書きです.それ以上の意味はありません

Go言語について

Go言語について少し調べてみた.

公式サイト(日本語)

The Go Programming Language


チュートリアル

チュートリアル(日本語)
A Tour of Go
チュートリアル(英語)
A Tour of Go

日本語の説明でもやもやしたことがあったので英語版と一緒に見た方がいいかも.

インストール

インストールは Mac の場合 Homebrew のパッケージを利用.
最初に環境変数 GOPATH の設定が必要.

GOPATH ディレクトリ内の構造がわからなかったので調べた.
github.com

たぶん次のようなこと(だと思う):

  • GOPATH ディレクトリには bin と pkg と src がある.
  • bin はビルドした実行ファイルを置く.
  • ソースコードは src に置く.プロジェクトごと(パッケージごと?)にディレクトリを分ける.このディレクトリ名は作成するパッケージ名と一致させる.
  • ソースをビルドしてできた実行ファイルは go install コマンドで bin か pkg に配置される.mainパッケージの場合はアプリなのでbinに実行ファイルとして,そうでない場合はpkgにライブラリパッケージとして配置される.
  • go get コマンドでリモートリポジトリからパッケージを取得する.-u オプションでパッケージ更新.goソースのimportでリモートホスト含めて記述すると実行時に取得する,ということもできる(らしい)

goコマンド

  • go build ソースのビルド.ライブラリ(パッケージ? .a)や実行ファイルができる.
  • go install インストール
  • go fmt ソースの整形
  • go doc <なんちゃら> ドキュメント表示
  • go help <なんちゃら> ヘルプ表示
  • go get <なんとか> リモートからパッケージ取得(-u をつけると更新)
  • go fix , go vet 検査するっぽい(よくわかってない)

そのほか

個別の構文要素でよく分からない部分があったので,別途調査.

defer, panic, recover, error の使いかたとか
blog.amedama.jp

配列とスライスの違い,cap と len の違いがよく分からない場合
jxck.hatenablog.com

パス文字列の扱い方とか
golang.jp