ユーザ用ツール

サイト用ツール


golang

差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
golang [2014/07/30 02:15] 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/golang+    exports GOPATH=$HOME/go
  
 ツール類が$GOPATH/binに入るのでPATHに追加する ツール類が$GOPATH/binに入るのでPATHに追加する
  
     exports PATH=$PATH:$GOPATH/bin     exports PATH=$PATH:$GOPATH/bin
- 
-==== ghqのインストール ==== 
- 
-git前提でパッケージ管理を行うツール 
- 
-    $ go get github.com/motemen/ghq 
- 
-ghq.rootに $GOPATH/src を指定する 
- 
-    $ git config --global --add ghq.root ~/golang/src 
  
 ===== ハローワールド ===== ===== ハローワールド =====
行 61: 行 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.1406686537.txt.gz · 最終更新: 2014/07/30 02:15 by nullpon