学びのアウトプット誰かの役に立てればと思います。
goenvを使う理由、Goバージョンを切り替えた時にGOPATHも変えてあげないと色んなバーションのものが一緒になり重複するためgoenvを入れる。
※これらの設定をすると、バージョンを切り替えた時に自動で切り替わる。
♦︎goenvインストール
参照:https://github.com/go-nv/goenv/blob/master/INSTALL.md
♦︎GOENV_ROOTの設定
♦︎GOPATH,GOROOTの設定
♦︎GOインストール
>>>VIM設定済み前提
Chapter1===インストール方法===
goenv install
★本来のバージョンが表示されず下記になる
★//エラー
:frowning2:
zsh: command not found: goenv
★exec $SHELL を入力
(又は$ source ~/.zshrc)
$ goenv -v
goenv 2.1.11など任意のバージョン)がでればOK
goenv install
-l/--list List all available versions
インストールできるバージョンは以下のコマンド
$ goenv install -l
最新バージョン探す
goenv install 1.21.5
インストール実行
goenv versions
> 1.21.5
goenv global 1.21.5
※プロジェクトごとに指定したい場合「global部分がlocal
goenv rehash
go version
> go version go1.21.5 darwin/amd64
echo $GOPATH
> /Users/氏名/go/1.21.5
捕捉
バージョン切り替え
「参照」
MacBook-puro ~ % echo $GOPATH
/Users/氏名/go/1.21.5
現在:goディレクトリが作られた中の1.21.5という所がGOPATHGOPATHされています。
goenv install -l
goenv install 1.21.4
1つ前のバージョンを指定としてインストール
goenv versions
で確認すると1.21.4が存在。
env
でGOPATH=/Users/氏名/go/1.21.5
使っているパス先が見れる。
goenv rehash
と、行うとenvファイルに反映され、切り替えができるようになる。
Chapter2=====実行方法====
cd desktop
//pwd で位置確認
mkdir hello
cd hello
ls
go mod init example/hello
lsで確認すると、「go.mod」が新しく作成
※vscode新しいエディタで開きデスクトップ「hello」フォルダを開く
・新しいテキストファイル「hello.go」を作成
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
上記のコードを入力し、vscodeのターミナルで実行
go run .
「Hello, World! 」が出たらOK
実行完了
・ 公式にして学習用パッケージ
//quote外部パッケージ
package main
import "fmt"
import "rsc.io/quote"
func main() {
fmt.Println(quote.Go())
}
上記コード
go mod tidy
パッケージの依存関係など書いてあるファイルができ「quote」が使えるようになる
go run .
実行すると下記が表示される。
Don't communicate by sharing memory, share memory by communicating.
「共有メモリ(記憶)で通信するな」「メモリ(記憶)は通信(コミュニケーション)で共有せよ。
Go言語の格言である。
Qパッケージは何処に格納されている?
A,GOPATHのpkgの中にある。
echo $GOPATH
//Users/bun/go/1.21.5 ★謎に改行が入り空欄の場合以下
cd $GOPATH
ls
//私の場合、1.21.5 bin pkg
ls pkg
//mod sumdb
ls pkg/mod
//rsc.ioがあればOK
※ターミナルを閉じるとGOPATHが初期化されます
Chapter2実行編GOPATH部分★の場合、
echo $GOPATH
空行
export PATH="$GOPATH/bin:$PATH"
export GOPATH="$HOME/go"
上記2点を加えた後に「記事のcd $GOPATH」と続くと解決した。