Goを少し理解していく
プルリクを貰った
ありがたいことに、サンプル用プロジェクトなのにsecondrykeyさんにプルリクを貰った!
https://github.com/nyo3q1/golang_simple_api/pull/1
コードを見ると全体的にGoらしい書き方に修正してくれていた。
Goが分かっていないというのもあるけど。スクリプト言語に甘えていたツケが回ってきた感が凄いので、分からないなりに噛み砕いて理解していく。
構造体の配列はポインタで返す
DBから値を取得、それを元に構造体の配列を生成し返却する関数の戻り値はポインタで返す。
理由
大きな構造体や配列は値のまま返すとコピーの負荷が高いから
わかりやすく書いてある記事
https://qiita.com/knsh14/items/8b73b31822c109d4c497#receiver-type
コードはこんな感じ
type People struct { id int64 name string } type Peoples []People func GetPeoples() (*Peoples, error) { // 略 return &peoples, nil }
log.Fatal(funhttp.ListenAndServec())の動き
http.ListenAndServe は異常が起きた時のみ error を返すようになっている https://stackoverflow.com/questions/25920963/in-what-situation-will-http-listenandserve-return https://golang.org/doc/articles/wiki/#tmp_3
このQiitaが簡単にまとまっている
https://qiita.com/_kyamasan/items/f27978906c23fc3c49c3
ありがとう Shizuoka.go
このイベントに参加していなければプルリクは貰えませんでした。
本当に...ありがとう...