【Go入門!】dockerを使ったGoの開発環境構築

ReactやVue.jsの登場により、Web業界全体でフロントエンド主体の開発に少しずつシフトしているようです。

それに合わせて、DjangoやRailsのようなフルスタック型のフレームワークにおいても、JSON形式のWebAPIを返す方式が主流になってきました。

新規の案件でGolangやGraphQLでWebAPIを実装するケースも見かけます。

私もこの流れに乗っかりたいので、Django REST frameworkとGolang、Reactに焦点を当て、キャッチアップすることにしました。

手始めにGolangで何かやってみたく、Dockerで開発環境を用意したので、まとめます。

Golangのdockerイメージ確認

念のため公式のイメージがあるか確認しました。問題ないようです。

docker search golang

Golangのdockerイメージ取得

取り急ぎ最新の物を取得します。

docker image pull golang:latest

コンテナの起動と接続

コンテナを建てます。ファイルの編集をしやすいように、ホスト側ディレクトリをマウントしてコンテナ側( /go/src)と共有します。

# コンテナの起動
docker container run -dt -v $(pwd):/go/src --name golang_dev golang:latest

# コンテナへ接続
docker container exec -it golang_dev /bin/bash

Hello, world.

お約束のHello,worldを表示してみます。

cd /go/src/
mkdir hello
touch hello.go

エディタでhello.goを開き、下記コードを挿入。

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

コンテナのターミナルに戻って go run コマンドを実行。GO,GOGO!

go run hello.go

# ↓出力結果
hello, world

ビルドする場合↓

go build hello.go
./Hello

# ↓出力結果
hello, world

Golangの基本的な文法などを学ぶ

↓ここがシンプルにまとまっていて非常に良いです。

Go by Example

もう少しがっつり学びたい場合↓

Go Bootcamp

まとめ

Webプログラミングの新たな扉を開きました。やったね!

次はWebAPIを作ってみます。