Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21089

Goの門をくぐってみる(GoとGinのQuickStart)

$
0
0

なんとなく触ってみたいなと前々から思ってたので、チャレンジ。普段はJavaを書いています。なので、型が欲しいという思いでGoに触れてみます。僕はGoについての知識0なので、どこまで簡単に作れるのかもみていきたいです。

いろんな規則や、わからないことがあれば、以下の2つのサイトを探りながら書いていきたいと思います。

事前準備

homebrew

このサイトからinstallできます

go

コマンド打つだけ、簡単

brew install go

versionは1.14

ri2kku~:$: 
->> go version
go version go1.14 darwin/amd64

何がともあれGoのQuickStart

Go公式のQuickStartを参考に世界に挨拶してみます
https://golang.org/

ファイル作成 -> コード書く -> 動かす、まで一気に

ri2kku~/sandbox/go/go-sample:$: 
->> vi hello_world.go
hello_world.go
packagemainimport"fmt"funcmain(){fmt.Println("Hello, World")}
ri2kku~/sandbox/go/go-sample:$: 
->> go run hello_world.go 
Hello, World

雑感

10分ほどで世界に挨拶できました!こんなに簡単なら早く触っておけばよかったです。シンタックス等はJavaと結構違っているのかな?セミコロンがないことにすごく違和感を感じていました。

Gin

次はFWを使って簡単なアプリを作成してみます
一番使われてそうなFWを選びました
https://github.com/gin-gonic/gin

インストール

Goのversionは1.1以降が必要らしいです

go get -u github.com/gin-gonic/gin

GinのQuickStart

書いて動かすところまで

exmaple.go
packagemainimport"github.com/gin-gonic/gin"funcmain(){r:=gin.Default()r.GET("/ping",func(c*gin.Context){c.JSON(200,gin.H{"message":"pong",})})r.Run()}

localhost:8080でlistenしてる

ri2kku~/sandbox/go/gin-sample:$: 
->> go run example.go
GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /ping                     --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on localhost:8080

http://localhost:8080/pingにアクセスすると、pongが返ってくるようになっているのを確認できました

ri2kku~/sandbox/go/gin-sample:$: 
->> curl http://localhost:8080/ping
{"message":"pong"}

雑感

すごく簡単に作れる模様?インストールがすごく楽ですぐに何かを試したい!という時にはさらっとかけそうな印象を持ちました、この時点では。まだ海面に触れたようなものなので、次はもう少し深く潜って簡単なWebアプリを作成したいと思います。


Viewing all articles
Browse latest Browse all 21089

Trending Articles