概要
windowsでGo言語を使ったWEBアプリケーション作成の環境を構築する
※前提としてVSCodeはインストール済みである事とする。
参考
VSCodeでGo言語の開発環境を構築する
目次
1. Go言語のインストール
2. VSCodeのGo拡張機能をインストール
3. プロジェクトの作成
4. echoを使ってWEBサーバーを作成
5. goのコマンドのまとめ
1. Go言語のインストール
ダウンロードページよりwindows版のインストーラーをダウンロードする
インストーラーを実行する
コマンドプロンプト等で下記コマンドを実行してバージョンが表示されればインストールOKです
$ go version
go version go1.19.3 windows/amd64
2. VSCodeのGo拡張機能をインストール
VSCodeを起動、拡張機能の検索で「go」と入力して検索
下記をインストールする
コマンドパレット(Ctrl+Shift+P)を開いてGO: Install/Update toolsで検索
全ツールを選択し、OKボタンを押下してインストール
3. プロジェクトの作成
プロジェクトのルートディレクトリを作成するフォルダを開く
新しいフォルダの作成でルートディレクトリを作成する(例はC:\do\sample-app)
ターミナルを開き、コマンド go mod init sample-app を実行して初期化を行う
main.goファイルをルートディレクトリに作成
package main
import "fmt"
func main() {
name := "Go Developers"
fmt.Println("Azure for", name)
}
デバックを実行(F5)、コンソールに「Azure for Go Developers」が表示されればOK
4. echoを使ってWEBサーバーを作成
コマンドプロンプトを起動、ルートディレクトリに移動して下記コマンドを実行
go get github.com/labstack/echo/v4
インストールが完了すればgo.modにモジュールのインポートパスとバージョン情報が記載される
※同時にgo.sumも作成される
go.sumは依存先モジュールのハッシュを記録するためのファイル
go.modを元に取得したモジュールにマルウェアが仕込まれていたりしてハッシュが食い違う場合にエラーが発生する
main.goを下記内容に書き換える
package main
import (
"net/http"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Logger.Fatal(e.Start(":1323"))
}
VSCodeにてF5を押す、または「実行とデバック」をクリックしてデバックを実行
デバックコンソールに「→ http server started on [::]:1323」が表示されればサーバーの起動成功
※packegeが不足しているエラーが表示される場合は該当パッケージを「go get packege名」でインストールすること
ブラウザでhttp://localhost:1323/ にアクセスし、下記ページが表示されればOK
5. goコマンドのまとめ
○go run
binaryファイルを作成せずにgoファイルを実行する
$ go run main.go
WEBサーバーが立ち上がる
終了するときは「Ctrl+C」
○go build
binaryファイルを作成する
$ go build main.go
main.exeが作成される
実行するとWEBサーバーが立ち上がる
○go clean
go buildやgo.testで出力されたファイルを削除する
$ go clean
○go get packege
パッケージをインストールする
$ go get pakege名