はじめてのGoでAPIを作ってみた

概要

よくGo言語の話を見るが触ったことがないので触ってみた。
まずは環境構築を行い、ローカルサーバーを立てるところまでやってみました。

まだ条件分岐やループの書き方が分からないのは秘密。
習うより慣れよですわ。

環境構築

私は、WindowsユーザなのでWindowsに環境構築しました。
エディタはVSCodeを使います。

以下の記事を参考に構築したところ特につまることなく環境構築ができました。

インストーラはここです(ダウンロードが走ります)。

環境変数への設定はインストーラがやってくれるようでインストールしたら設定されていました。

Hello World 実装

Hello Worldのコードです。
VSCodeでF5を押下して「Go」を選択すれば実行できます。

go.main

package main

import "fmt"

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

APIを作成

勢いそのままにAPIを作ります。
調べたところ「Echo」というフレームワークの記事があったのでこれで作ります。

参考にした記事はこちらというか公式。

準備

ライブラリのインストールを行います。

go get -u github.com/labstack/echo/...

インストールできたら実装に移っていきます。

実装

公式を大体そのままに作成。

server.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(":8080"))
}

実行

実装できたら実行します。
コンソールで以下を実行。

実行

go run server.go

実行結果

$ go run server.go

   ____    __  
  / __/___/ /  ___ 
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.1.17
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
                                    O\       
⇨ http server started on [::]:8080

接続

localhost:8080にブラウザでアクセスします。
味気ないですが、Hello Worldが表示されています!
f:id:aky100200:20201028232750p:plain

おわり

GoでAPIサーバーができました!
環境ができたので、また色々触ってみたいです。