ひっまやなぁ GW中にREST APIをお手軽に実装できる言語とフレームワークとかないよなぁ
ITTL勉強会1日目の記事です。
あるよ
package main
import "github.com/kataras/iris"
func main() {
app := iris.Default()
app.Get("/ittl", func(ctx iris.Context) {
ctx.JSON(iris.Map{
"message ": "GWはirisとgo",
})
})
app.Run(iris.Addr(":8080"))
}
どーせありきたりなスクリプト言語やろ
package main
import "github.com/kataras/iris"
func main() {
app := iris.Default()
app.Get("/ittl", func(ctx iris.Context) {
ctx.JSON(iris.Map{
"message ": "GWはirisとgo",
})
})
app.Run(iris.Addr(":8080"))
}
それではこちらを、ご覧ください。
https://github.com/kataras/iris より引用
そう、Go言語はありきたりなスクリプト言語じゃない。軽量×お手軽×ハイパフォーマンスを描いた最高の言語なんだよ!
コンパイル言語だからバイナリを配布するだけで、実行可能!勉強しない方がおかしいねw
さぁみんなも乗り遅れないで!Golangで検索ゥー!
Go言語とは
Windows、macOS、Linux用でコンパイル可能なプログラミング言語。OSSで開発されており、Googleの中の人によって設計されました。ver1.11からWebAssemblyのサポートも開始。
irisとは
Go言語のWebフレームワーク。今回はこちらのフレームワークを利用し、解説を行います。
マイナー言語?
A. メジャー言語
動画配信サイトのAbemaTVでも採用するほどハイパフォーマンス。
https://speakerdeck.com/miyukki/the-background-of-video-distribution-in-abematv-during-one-year?slide=15
Go言語の基礎
こちらの記事に綺麗にまとまっていたので、参考にしてください。
特に宣言の「:=ってなんやねん、=とちゃうんか!」ってなると思うのでここだけ引用しておきます。
// 宣言した後、値を代入パターン
var msg string
msg = "hello world"
// 宣言と代入を一緒にするパターン
var msg string = "Hello World"
// 宣言と代入を一緒にするパターン (型省略可能)
var msg = "Hello Hello"
// 宣言と代入を一緒にするパターン (var省略)
msg := "Super Hello"
DBと接続
MongoDBと接続するコードです。
小技として、import文をかっこで囲うと一括でimportしてくれます。
package main
import (
"github.com/kataras/iris"
mgo "gopkg.in/mgo.v2"
"gopkg.in/mgo.v2/bson"
)
type Human struct {
NAME string `json:"name"`
PLANS Plan[] `json:"plans"`
}
type Plan struct {
PLAN_NAME stirng `json:plan_name`
}
func main() {
// Webサーバ立ち上げ
app := iris.Default()
// DB接続
session, _ := mgo.Dial("mongodb://localhost/test")
// Webサーバ終了時にセッション破棄
defer session.Close()
// セッション確立
db := session.DB("test")
app.Get("/schedule", func(ctx iris.Context) {
// DBからの戻りを買う脳する変数
schedules := []Human{}
// DBに問い合わせ
err := db.C("card").Find(bson.M{}).All(&schedules)
if err != nil {
// err発生
}
// JSONに詰め込みクライアントに返却
ctx.JSON(cardInfo)
}
app.Run(iris.Addr(":8080"))
}
最後に
Go言語は少し癖がありますが、慣れてしまえば今まで以上に高速にWeb開発ができると思います。今回はREST APIでしたが、View部も実装することは可能です。ぜひこの機会にGo言語を習得してみてはいかがでしょうか。急ぎ足で解説したので、疑問点があればお問い合わせください。
Author And Source
この問題について(ひっまやなぁ GW中にREST APIをお手軽に実装できる言語とフレームワークとかないよなぁ), 我々は、より多くの情報をここで見つけました https://qiita.com/momokura/items/42a8b4b446908703e9db著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .