こんにちは。Tomoyuki(@tomoyuki65)です。
LaravelやRailsの既存システムをリプレイスする際にGo言語(Golang)がよく使われたりするので、「これから始めてみようかな?」という人もいるのではないでしょうか。
Go言語を試してみたい場合はすぐに始められるので、ぜひ一度触ってみて下さい!
Go言語(Golang)入門
Go言語の公式サイトにはブラウザで始められるPlaygroundがあるため、すぐにGo言語を試すことができます。
「https://go.dev/play/」にアクセスするとサンプルが表示されるので、画面右上の「Run」をクリックしてみて下さい。
実行後、画面の下に実行結果が表示されます。
例えば変数を定義して表示させると下図のようになります。
このようにGo言語はブラウザだけですぐに始められるので、まずはこれで基本的な文法を試してみるのがおすすめです!
Go言語(Golang)の基礎情報
上記でGo言語の実行環境が簡単に準備できるので、あとは基礎的な情報があれば学習を始められると思います。
基礎情報については、以下のサイトを参考にしてみて下さい。
A Tour of Go(Go言語の基礎文法最速マスター)
Go言語には基礎文法を学ぶための「A Tour of Go」というサイトがあり、日本語にも対応しているので、ここから始めるのもよさそうです。
Go言語の公式サイトにあるドキュメント「Effective Go」
Go言語の公式サイトには公式のドキュメント「Effective Go」があり、慣用的なGoコードの書き方が載っています。
Go言語の標準ライブラリのドキュメント
Go言語の標準ライブラリについて知りたい方は、「https://pkg.go.dev/std」にアクセスしてドキュメントを確認してみて下さい。
とほほのGo言語入門
プログラミング関連で有名な学習サイトに「とほほのWWW入門」があり、Go言語の「とほほのGo言語入門」もあるので、基礎的な文法などについてはこちらを参考に色々試すのもおすすめです。
※Go言語のバージョンは古いので、その点はご注意下さい。
ローカルで試すならDockerで環境構築
Go言語(Golang)をローカル環境で試したい場合は、Dockerを使うのがおすすめです。
ここではDockerに関する詳細は割愛させていただきますが、Dockerを実行できる環境が整っている方は以下を参考にして環境構築をしてみて下さい。
ではまず以下のコマンドを実行し、各種ファイルを作成します。
$ mkdir go_sample
$ cd go_sample
$ touch Dockerfile
$ touch compose.yml
$ touch main.go
次に作成した各種ファイルの内容を以下のように記述します。
# Go言語の軽量版「alpine」のDockerイメージ
FROM golang:1.22.2-alpine
# 作業ディレクトリの設定
WORKDIR /go
※この記事では2024年5月時点で最新のGoバージョン「1.22.2」を使用しています。
services:
app:
container_name: go_sample
build:
context: .
dockerfile: ./Dockerfile
volumes:
- .:/go
package main
import "fmt"
func main() {
fmt.Println("Hello World!!")
}
次に以下のコマンドを実行し、コンテナをビルドします。
$ docker compose build --no-cache
次に以下のコマンドを実行し、Go言語のファイル「main.go」をコンパイルします。
$ docker compose run --rm app go build main.go
コンパイルするとファイル「main」が作成されます。
次に以下のコマンドを実行し、コンパイルで作成されたファイル「main」を実行します。
※Go言語はコンパイラ言語のため、コードを実行する前に機械語への変換を行います。
$ docker compose run --rm app ./main
実行後、下図のように表示されればOKです。
また、以下のコマンドを実行するとファイルを直接実行することも可能です。
$ docker compose run --rm app go run main.go
実行後、下図のように表示されればOKです。
最後に
今回はGo言語(Golang)を始める方法について解説しました。
Go言語を実際に試してみると、他の言語だとC言語に近い感じなので、私は大学時代にC言語を学んだことを思い出して懐かしく感じました笑
そして、Go言語はブラウザだけですぐに始められるので、興味がある方はまずはサクッと基本的な文法などを試してみて下さい!
コメント