search
LoginSignup
0
Help us understand the problem. What are the problem?

posted at

Goの環境構築 〜VSCodeでGoを動かす旅〜

はじめに

この記事は、エンジニア経験1年の大学生が実務で勉強になったこと、詰まったこと、勉強したことをまとめています。間違っている箇所などがございましたら、指摘していただけると幸いです。

背景

インターン先でGoが採用されたので、キャッチアップをするために記事にしました。理解が浅いところや間違っているところが多少あると思いますが、優しく指摘していただけると幸いです。

環境

  • macOS BigSur(11.6)
  • Homebrew 3.4.9
  • VSCode 1.66.2
  • Go 1.18.1

Go(golang)とは?

Goは2009年にGoogleがリリースしたオープンソースのプログラミング言語。

Goのインストール

Downloadsからインストールする。自分のOSに合うものを選択する。
スクリーンショット 2022-04-30 15.28.28.png

インストールが完了したら、下記コマンドでGoのバージョンを確認する。

go version

下記のようになれば、インストールが完了している。

go version go1.18.1 darwin/amd64

godocをインストール

godocとは、様々な標準ライブラリやGo製のサードパーティ製パッケージのリファレンスである。go docコマンドを使用することで、ドキュメントを見ることができる。
下記コマンドでgodocをインストールできる。

go install golang.org/x/tools/cmd/godoc@latest

※ 過去の記事などを見ていると、go get golang.org/x/tools/cmd/godoc@latestでインストールしているが、go getは非推奨となっている。
Go 1.17から非推奨となり、Go 1.18から使用できなくなっている。

参照: https://go.dev/doc/go-get-install-deprecation

次にgodocがインストールできたか下記コマンドで確認する。fmtというパッケージのドキュメントを確認する。

go doc fmt

下記のように表示されれば、godocが無事インストールできている。

package fmt // import "fmt"

Package fmt implements formatted I/O with functions analogous to C's printf
and scanf. The format 'verbs' are derived from C's but are simpler.


Printing

The verbs:

General:

    %v	the value in a default format
    	when printing structs, the plus flag (%+v) adds field names
    %#v	a Go-syntax representation of the value
    %T	a Go-syntax representation of the type of the value
    %%	a literal percent sign; consumes no value
    .......................................................

※ 過去の記事によっては、godoc XXXXと書かれているものもあるが、godocのCLIモードのサポート終了によって、godoc XXXXの代わりにgo doc XXXXと推奨されるようになった。

参照: https://github.com/golang/go/issues/25443

VSCodeでGoの環境を構築

VSCodeの拡張機能からGoで検索し、下記画像のようにGoをインストールする。
スクリーンショット 2022-04-30 16.31.35.png

拡張機能をインストールできたら、パッケージをインストールしていきます。
shift + command + p でコマンドパレットを開き、「GO: Install/Update tools」と検索し、選択する。

全てにチェックを入れ、OKを押すと、インストールされる。
スクリーンショット 2022-04-30 16.39.59.png
これで、VSCodeの設定は終了。

まとめ

今回Goを初めて触り、環境構築を行いました。その中でバージョンの違いで少し実行方法が違ったり、使えないコマンドがあったりして、多少時間がかかってしまうことがありました。特に、Go 1.18の記事が少なかったので、少しでも参考になれば幸いです。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?