LoginSignup
10
10

More than 1 year has passed since last update.

【Go!】Golang環境構築~Mac(M1チップ)で~【Go!】

Last updated at Posted at 2021-06-12

はじめに

Mac(M1チップ)環境でGolangの環境構築していきます。
goenvでの構築のやり方で進めていきます。
色々試行錯誤しましたが、goenvで導入した場合、最新版の1つ下のバージョンまでしかインストールできませんでした。
VScodeをいじってるときに最新版じゃないよってアップデート急かされるので、結局公式HPで最新版インストールすることにしました。
まぁもしgoenvに変えたいときでもやり方はわかったので。goenvの導入方法も記しておきます。

goenv??????

goのバージョン管理を行うためのツールです。
プロジェクト毎に、goのバージョン指定できます。
(ぼくはバージョン違う場合はDockerで仮想環境作っちゃうかも。。。)
Pythonでいうpyenv、Rubyでいうrbenv。。。

環境構築

公式からGolangインストール

ここのリンクからインストール
下の方にarm版があるのでこれをインストールする。
arm版でないとVScodeでデバッグできないので必ずarm版で!
image.png
PATHを指定する必要なし。
下のVScodeで実践!の項目まで飛ばしてください!

goenv導入

goenvで導入してみたがgoenvでインストールできる

インストール

homebrewでもできるけどバージョンが低いのでこっちでインストール。

$ git clone https://github.com/syndbg/goenv.git ~/.goenv

PATHを通す

まだbash使ってる方は~/.zshenvの部分を~/.bash_profileにしてもらえば^^;

$ echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshrc
$ echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(goenv init -)"' >> ~/.zshrc
$ source ~/.zshrc

バージョン確認

表示されればOKです!

$ goenv -v

goの設定

インストール

インストールできるバージョンの一覧を表示

$ goenv install -l
$ goenv install バージョン

使用するバージョンの設定

$ goenv global バージョン

特定のディレクトリ内だけのバージョン設定

$ goenv local 1.16.0

バージョン確認

これで指定したバージョンが表示されればOK!

$ go version

PATHを通す

bashの方は~/.bash_profileに。

$ echo 'export PATH="$GOROOT/bin/$PATH"' >> ~/.zshrc
$ echo 'export PATH="$PATH:$GOPATH/bin"' >> ~/.zshrc
$ source ~/.zshrc

VScodeで実践!

環境構築

今回はテストフォルダを作ってその中で作業を進めていきます。

# 任意のディレクトリで
$ mkdir test
$ cd test
$ touch main.go
$ code .

で、VScodeが開かれます。

goの拡張機能インストール

image.png

shift + command + pgo: install/update tools入力
image.png
image.png
左上のチェックで全チェックでOKボタン。
全部SUCCESSEDしたらで完了。

goファイル修正

main.go
package main

import "fmt"

func main() {
    msg := "hello world"
    fmt.Println(msg)
}

起動確認

$ go run main.go

mod作成

作業ディレクトリ内でgo.modを作成します。
go mod init フォルダ名(プロジェクト名)
今回はtestなのでコレ

$ go mod init test

go.modというファイルが生成されました。

ブレークポイント

main.goにブレークポイントを置きます。
image.png

デバッグ

image.png
image.png
これでmsgの中身が見れたりして今どういう状態か把握することができます。
使い方は色々いじってみてください!

まとめ

とりあえずGo入れてみたわけですが、色々基礎的なサイトとか覗いてみました。
これ!Cだ!!!
PrintfPrintln懐かしい!!!でも末尾にセミコロンはいらないみたいだ。
元々SE時代にC#やってたぼくにはもしかするとrubyよりGoの方が合っているのでは!?
rubyやってて動的型付けで解せぬ部分もあったしな〜。
静的型付け言語万歳!!!
image.png
変数のところ指すと型わかるっぽい。
C言語が元になってるならシステム系でも使えんのかな?
てかこれMac必要なくなるのでは?

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10