0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Golang勉強メモ①環境構築

Last updated at Posted at 2020-05-07

環境

Go:1.14.2
OS:Mac
git:2.20.1 (Apple Git-117)
エディタ:VisualStudioCode

Go言語のIDEとしては、他にGolandが有名だが、
一旦はフィジ確認程度で、VisualStudioCodeで不満なく使用できそうなので
VisualStudioCodeを選択。

Go本体のインストール

下記からApple MacOS向けの最新版(1.14.2)のモジュールをインストール。
https://golang.org/dl/
ダウンロードが完了したらインストーラーが起動するので、
画面の指示に従いインストールする。
インストール完了後、ターミナルを開きgo -versionと入力し
下記のように表示されたらインストール成功。

$ go version
go version go1.14.2 darwin/amd64

パスの設定

go envコマンドでgoの環境変数の設定確認ができる。
今回、デフォルト設定でインストールしたところ、下記の通り設定されていた。

$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/username/Library/Caches/go-build"
GOENV="/Users/username/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/username/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
・・・

下記のうち、特に注意が必要な変数は2つ

  • GOROOT
    Goモジュールのルートディレクトリ
    インストールしたGoのパスが登録される。

    複数バージョンを使う以外はデフォルトのまま使用して良い。

    デフォルトのインストール設定では配下にgogofmtが格納されていた。
$ls
go	gofmt
  • GOPATH
    Goのワーキングディレクトリを指す。

    go getというパッケージをダウンロードするコマンドを使用する際に必要となる。

    ダウンロードしたパッケージはGOPATHで指定したディレクトリに保存され、
    goでimportする際にはGOPATHの中身を参照しに行く。

    デフォルトのインストールでパスが通っていたが、該当のフォルダは作成されていなかった。

gitのインストール

(まだgitを導入していない場合)
ターミナルでgitと入力すると、install commandline developer toolsの
ポップアップが表示されるので、インストールする。
image.png

インストール終了後、ターミナル上でgit --versionと入力し、
バージョン情報が出力されたらインストール完了。

$ git --version
git version 2.20.1 (Apple Git-117)

VisualStudioCodeのインストール

上記リンクからソフトをダウンロードする。(Stable Build版)
https://code.visualstudio.com/

ダウンロードしたzipを解凍し、解凍後に
ダウンロードディレクトリからアプリケーションのディレクトリに移動させる。
(Launchpadからの起動が可能になる。)

VisualStudioCodeの設定

  • 日本語化
    なんにでも使える
    https://qiita.com/ntkgcj/items/e77331932c7983dea830

  • Golang拡張機能のインストール
    予測変換などが可能に
     
    image.png

  • パッケージのインストール、更新
    ※上記gitのインストール、golangの拡張機能のインストール後実施すること
    VSCode上で⌘command+Shift+Pでコマンドパレットを開き、
    >go:install/update toolsと入力する。
    必要なパッケージを選択後、インストールする。(基本的にすべて選択で良い)

スクリーンショット 2020-05-07 18.54.38.png

インストールが正常に終了すると、下記のように表示される。
何かしらに失敗していたらgitコマンドが有効になっているか確かめる。

  gocode
  gopkgs
  go-outline
  go-symbols
  guru
  gorename
  gotests
  gomodifytags
  impl
  fillstruct
  goplay
  godoctor
  dlv
  gocode-gomod
  godef
  goreturns
  golint

Installing github.com/mdempsky/gocode SUCCEEDED
Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs SUCCEEDED
Installing github.com/ramya-rao-a/go-outline SUCCEEDED
Installing github.com/acroca/go-symbols SUCCEEDED
Installing golang.org/x/tools/cmd/guru SUCCEEDED
Installing golang.org/x/tools/cmd/gorename SUCCEEDED
Installing github.com/cweill/gotests/... SUCCEEDED
Installing github.com/fatih/gomodifytags SUCCEEDED
Installing github.com/josharian/impl SUCCEEDED
Installing github.com/davidrjenni/reftools/cmd/fillstruct SUCCEEDED
Installing github.com/haya14busa/goplay/cmd/goplay SUCCEEDED
Installing github.com/godoctor/godoctor SUCCEEDED
Installing github.com/go-delve/delve/cmd/dlv SUCCEEDED
Installing github.com/stamblerre/gocode SUCCEEDED
Installing github.com/rogpeppe/godef SUCCEEDED
Installing github.com/sqs/goreturns SUCCEEDED
Installing golang.org/x/lint/golint SUCCEEDED

All tools successfully installed. You are ready to Go :).

なお、ダウンロードした拡張機能は先程確認したGOPATH配下に格納される。

$ls
dlv		gocode		golint		gorename	impl
fillstruct	gocode-gomod	gomodifytags	goreturns
go-outline	godef		gopkgs		gotests
go-symbols	godoctor	goplay		guru

goのテストプログラム

gogo.goという名称で、以下のコードを作成。

package test

import (
	"fmt"
)

func main() {
	fmt.Println("gogo!golang!!")
}

コードを簡単に解説

  • pakage

    名前空間を分ける仕組み。

    ソースファイルは1つのpackageに属する必要がある。

    なお、packageを省いた状態で、goファイルを保存すると勝手にmain packageを作成してくれる。
  • import

    importすることで外部のパッケージを使用することができる。

    fmtは基本的なI/O機能を提供するパッケージ。
  • func

    goの関数はfuncで定義を行う。

    ソースファイル実行時に、main関数が実行される。

goファイル実行時には
go run ファイル名をターミナルに打ち込む。

go run /Users/username/golang/gogo.go
gogo!golang!!
0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?