ユーザ用ツール

サイト用ツール


golang

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
golang [2018/07/20 00:36] – [GOPATHの設定] nullpongolang [2024/04/14 10:43] (現在) nullpon
行 1: 行 1:
 ====== golang ====== ====== golang ======
  
-go 1.3+Googleが作ったコンパイル型言語、GCがある。 
 + 
 +ググる場合、goではまず検索できないのでgolangで検索するといい
  
 ===== インストールと準備 ===== ===== インストールと準備 =====
  
-==== インストール(homebrew) ====+==== インストール ==== 
 + 
 +[[homebrew]]を使う
  
   $ brew install go   $ brew install go
 +
 +[[goenv]]を使う
 +
 +  $ brew install goenv
 +  $ goenv install 1.22.2
      
-==== vimの設定 ====+==== vim/neovimの設定 ====
    
-<code vim> +https://github.com/fatih/vim-go
-.vimrc+
  
-if executable('/usr/local/opt/go/libexec/bin/go') 
-    set rtp+=/usr/local/opt/go/libexec/misc/vim 
-endif 
-</code> 
  
 ==== GOPATHの設定 ==== ==== GOPATHの設定 ====
  
-開発に使う場所を指定する。お好きな場所を+ライブラリなどがインストールされる場所好きな場所を指定する
      
     exports GOPATH=$HOME/go     exports GOPATH=$HOME/go
行 28: 行 32:
  
     exports PATH=$PATH:$GOPATH/bin     exports PATH=$PATH:$GOPATH/bin
- 
-==== cdpathを設定 ==== 
- 
-自分のプロジェクトをgithub.comでホストする場合、プロジェクトは$GOPATH/src/github.com/your_accountに設置することになるので、autocdとcdpathを設定しておくと便利 
- 
-<code> 
-setopt AUTO_CD 
-export cdpath=("$GOPATH/src/github.com/your_account" $cdpath) 
-</code> 
- 
-zsh限定 
  
 ===== ハローワールド ===== ===== ハローワールド =====
行 62: 行 55:
   $ go build hoge.go   $ go build hoge.go
      
 +===== プロジェクトを始める =====
 +
 +  $ go mod init モジュール名
 +  
 +  
 +githubを使う場合は、以下のようにする
 +
 +  $ go mod init github.com/<githubユーザID>/<リポジトリ名>
 +  
 +
 +`go.mod` というファイルが作成される。
 +
 +==== go get ====
 +
 +プロジェクトに依存ライブラリを追加する。Webフレームワークのginを追加してみる
 +
 +  $ go get -u github.com/gin-gonic/gin
 +  
 +go.modが更新されるので、
 +
 +<code>
 +git add go.mod
 +git commit -m 'add gin to dependencies'
 +</code>
 +
 +という感じにすぐにコミットしておくと戻したりやり直したりするのも楽
 +
 +==== go install ====
 +
 +こちらは依存関係ではなく、go製のツールなどをインストールするコマンド。rustで言うところのcargo install
 +
 +  $ go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest
 +  
 +$GOPATH/binに実行バイナリがインストールされる
golang.1532046961.txt.gz · 最終更新: 2018/07/20 00:36 by nullpon