Help us understand the problem. What is going on with this article?

Go言語とginをWindows上で動かしてみる

はじめに

始めてqiitaで記事を書くので緊張しています...
良い記事を書くには』を参考にしていますが、至らぬ点などございましたら申し訳ありません。

環境

  • OS: windows 10 Home
  • Go: 1.13.6
  • Git: 2.25.0
  • Text Editor: Atom

インストール

Go言語、Gitのインストールは、Windows用インストーラから行います。
ginのインストールはコマンドプロンプトより行います。

  1. Go言語をダウンロード&インストール -> https://golang.org/dl/

  2. Gitをダウンロード&インストール -> https://git-scm.com/download/win
     ginをgithubよりダウンロードするのですが、その際にGitが必要になります(当たり前か...)
     僕はこれに気が付かず、時間を浪費しました。

  3. ginをダウンロード&インストール -> https://gin-gonic.com/ja/docs/quickstart/
     上記ページを参考にginのダウンロード&インストールを行います。
     
     go get -u github.com/gin-gonic/gin

動作確認

クイックスタート | Gin Web Framework』を参考にさせていただきました。
以下のプログラムを、コマンドプロンプトよりgo run test.goで実行します。

test.go
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })
    r.Run() // 0.0.0.0:8080 でサーバーを立てます。
}

参考ページには『ブラウザで 0.0.0.0:8080/ping にアクセスする』と書いてありますが、なぜかつながりませんでした。
かわりに、localhost:8080/pingから接続したところ無事アクセスすることができました。

Hello, world from Gin ! をしてみる

Go / Gin で超簡単なWebアプリを作る』を参考に、先ほどのtest.goを少し書き換えます。

test2.go
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.LoadHTMLGlob("*.html")
    r.GET("/", func(c *gin.Context) {
        c.HTML(200, "index.html", gin.H{})
    })
    r.Run() // 0.0.0.0:8080 でサーバーを立てます。
}

index.htmlを用意します。

index.html
<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8">
        <title>test index</title>
    </head>
    <body>
        <h1>Hello, world from Gin !</h1>
    </body>
</html>

コマンドプロンプトよりgo run test2.goで実行し、ブラウザよりlocalhost:8080へ接続します。
以下が表示されて、無事動作していることがわかりました。
image.png

さいごに

Goとginを使ったWebアプリの開発がWindows上で行えることがわかり一安心です。

また、最近はWebアプリもどきをHeroku上で動かしたりしています。
データのやり取りなんかはJavaScript+GASなんかで行っていたのですが、限界が見えてしまったためサーバ側でも処理をさせようと思ったのが、今回 Goとginを触ったきっかけです。

今回書いたプログラムをベースに使えるアプリを作っていきたいと思う所存です。

soichiloYoda
普段はMatlabを使ってお仕事をしています。 スクリプト書いたりGUIアプリ作ったり。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした