環境

  • Windows10
  • Chocolatey導入済み

Go言語の導入

choco install golang を実行すると、Go言語をインストールできます。
更新するときは choco upgrade golang でできます。

VSCodeに拡張機能を導入

Image from Gyazo

拡張機能検索にGoと入力すると、一番上に公式の拡張機能が出てくるのでインストールします。

インストールが終わったら、コマンドパレット(Ctrl+Shift+P)を開き、Go: Install/Update Toolsを検索して、実行します。

すると、拡張機能の動作に必要なツール一式がダウンロードされます。

これで拡張機能の導入は完了です。

書いてみる

hello.goを作成します。
内容を以下のように作成します。

1
2
3
4
5
6
7
8
9
package main

import (
"fmt"
)

func main() {
fmt.Println("Hello, world.")
}

そして保存、go run hello.goを実行するとHello, world.が実行されます。

解説

package

感覚的にはJavaやC#などの名前空間に近いですが、厳密には違うものみたいです。

これは、importするときに指定される名前です。

基本的にはディレクトリ名を付けることが推奨されていて、例えばappというディレクトリにmain.goを作ったとすると、最初をpackage appとすることが推奨されているということです。

Go Modulesの仕様上、外部からダウンロードしたパッケージと被っても問題ありません。

そこらへんはここに書いてます Goで独自パッケージがimportできない - MinatoNote

そしてこれが最も重要ですが、ルートディレクトリに配置されているプログラムはpackage mainとする必要がります。

そうしないとgo run: cannot run non-main packageというエラーで実行できません。

import

パッケージをimportします。

今回は、fmtというgolangの入出力を司るパッケージをimportしました。

golangには、github上に無数のパッケージが存在していて、go get [repos]というコマンドで簡単にダウンロード、importすることができます。

これによって、開発を高速化することが可能です。

func main()

funcと聞けば関数ということはまぁわかると思うんですが、golangでは、main()という関数が一番最初に実行されます。

なので、func main()としています。

mainパッケージ内では、かならずmain関数を書かなければなりません。

mainパッケージにmain関数が存在しない場合は function main is undeclared in the main package エラーが発生します。

おわり

以上がGo言語ことはじめです。

正直今回は、Goを使う上での目玉機能には全く触れていません。

  • めっっちゃ楽な並列処理
  • ビルドして高速実行できる機能

など、Goには素晴らしい機能が何個かあります。
これはもしかしたら続きの記事を作るかもしれないです。