僕のメモ帳

僕のメモ帳です。

Goの勉強 バージョン比較で遊んだから記事にしてみた編

こんにちは。たかしです。

 

今回も前回に引き続いて、Go言語とAmazon Web Service(AWS)の勉強です。

 

前回の記事はこちら

bokunomemocho.hatenablog.com

 

僕がGoの勉強をするのに使っている本はこちらです。kindle unlimited入っていると月額で読めますよ!

www.amazon.co.jp


 

今回は「第2章 S3イベントの活用」を読み進めていきたいと思います。

 

S3とかシーケンスとかフォルダ構成とか

最初のほうは、S3の説明とかシーケンス図とかフォルダ構成の説明とかが書いてある。

S3はAWSが提供しているサービスのことで、こういうのもブログでまとめていくといいんだろうなぁ。いずれAWSのことも本格的な記事にしていこうかと思います。

 

シーケンス図とフォルダ構成は重要なことではあるけれども、そもそもGoを触ったことないので、ソース読んだり書いたりしながら参照していくことにしよう。

 

では、ソース作成…その前に

ソース作成に入ります。こういうのってどこまで書いていいのか難しいところですなぁ。重要そうなポイントをピックアップしていくレベルなら問題ないかな?

 

まずは、Goは1.11.2を使用するそうなので、自分の作業領域だけを1.11.2にしてほしいとのこと。手順に従って1.11.2を設定。

$ goenv local 1.11.2
goenv: version '1.11.2' not installed

インストールされてないから設定できんのかーい!

 

仕方ない。インストールして設定しますか。

$ goenv install 1.11.2

$ goenv local 1.11.2

$ goenv local
1.11.2

$ goenv global
1.16.2

おーできたできた。「goenv local」は1.11.2だけど「goenv global」は1.16.2だ。

 

 

折角なので、「goenv local」と「goenv global」の違いを楽しんでみることにしよう。

今、「/home/ec2-user/work 」で作業をしている。つまりここのエリアでは、Go1.11.2が有効になっているわけだ。

$ pwd
/home/ec2-user/work
$ goenv local
1.11.2
$ go version
go version go1.11.2 linux/amd64

 

では、フォルダを移動した場合どうなるのだろうか?

試しにホームディレクトリに移動して、同じコマンドを実行してみよう。

$ cd ~

$ pwd
/home/ec2-user$ goenv local
goenv: no local version configured for this directory$ go version
go version go1.16.2 linux/amd64

 

ほー!なるほど!まず「goenv local」を実行すると「goenv: no local version configured for this directory」と言われる。つまり「ローカルバージョンの設定、このディレクトリではしていないですやん」とのこと。

そして、「go version」。「goenv local」でバージョン設定した「/home/ec2-user/work 」内では「1.11.2」。「/home/ec2-user」ではバージョンは「1.16.2」。つまり、環境構築時に設定した「go global」が有効になっているというわけ。

こうやって試すと、コマンドに意味が分かりやすいし楽しい。

 

 

と、なんかいい感じの記事になったので、いったんここで区切ります。

次回の更新では、続きのコーディング部分をやります!

 

ではまた。