チュートリアルを流したり #349
チュートリアル
昨日か何かに書いたこちらの記事。
まぁとりあえずやってみなきゃわからんでしょということで、最初からやってみた。
記事ではルーティングのライブラリを使っているが、私はそれ以前にEchoに触っていたのでEchoに置き換えてやってみた。
EchoではJSONのレスポンスを返す時に、以下のように書くことができる。
func TodoIndex(c echo.Context) error { todos := Todos{ Todo{Name: "Learn golang"}, Todo{Name: "Learn aws"}, } return c.JSON(http.StatusOK, todos) }
encoding/jsonの使い方を知らなくても書くことができるのは大変良いことなんだが、今回はGoのお勉強をしたいというのが主目的なので後ほどちゃんとドキュメントを読んでみようと思う。
json - The Go Programming Language
このへんか。
go runでハマった
あまりにも初歩的なミスで大変恥ずかしいのだが、mainパッケージを複数のファイルに分割したのちに、go run main.goとやると、他のファイルに移動した関数がundefinedと言われてしまって実行できなかった。「なぜだ」と、10分くらい思考停止してたが、答えは簡単で分割したファイルをgo runの引数に含めていなかったから。
つまり、go run *.goとかやってやれば動く。気が付いてみれば当たり前のことなのだが、ぼーっとしてたのだろうか。
雑談
完全に言い訳なんだけど、家にいるとどうにも集中できない。すごく気が散る。なんだろうこれ。