Goを使いはじめました。

 

仕事がひと段落しました。

 

案の定放置してしまいました!

 

PHP + Laravelの案件は1段落し、最近ではGoの案件に少しずつ関わっています。

Packageも少しづつ覚えていかねければならないので大変です・・・。

 

 

最近になって初めて静的型付けの正しい意味を知りました。

 

 

業務 + 本 + Udemyの講座でちまちまやってきます。

 

※ 色々と端折っているので動かないです


func
main() {
var addr = flag.String("addr", ":8080", "アプリケーションのアドレス")
flag.Parse() // フラグを解釈します
r := newRoom()
r.tracer = trace.New(os.Stdout)
http.Handle("/", &templateHandler{filename: "chat.html"})
http.Handle("/room", r)

go r.run()

log.Println("Webサーバーを開始します。ポート: ", *addr)
if err := http.ListenAndServe(*addr, nil); err != nil {
log.Fatal("ListenAndServe:", err)
}
}

http.Handle, http.HandleFuncに第1引数のpathで第2引数の処理をするという感じで書きます。

ルーティングみたいな感じですね

 

最終的にはhttp.ListenAndServeにhttp.HandleFuncと、

http.HandleFuncに変換されたhttp.Handleが登録されるみたいです。

 

Goを使いこなせるようになる日は果たしてくるんでしょうかね・・・。

 

まぁPHP + Laravelの時も案件やりながら、今振り返ると(自分的には)驚くぐらい成長しているので、気長にやっていきます。

 

Goの次はScalaがやりたいですね。ApachSparkを使ってみたいです。

 

実はもうUdemyの講座は購入済みなのですが、全部英語なので、終わるのはいつになることやら・・・。