「Go言語によるWebアプリケーション開発」7章 ランダムなおすすめを提示するWebサービス
- 作者: Mat Ryer,鵜飼文敏,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/22
- メディア: 大型本
- この商品を含むブログ (3件) を見る
7章は「ランダムなおすすめを提示するWebサービス」で、公開されているAPIを利用して、独自APIとして利用されています。
いままでの章をやっていれば、かなり理解しやすい内容になっていると思います。
応用編になった感じですかね。
constの列挙子の部分はすごく学びになりました。
列挙子
列挙子を用いて定数を設定する方法と、文字列への変換を行う方法については感心しました。
やっぱり定数値のファイルは分割しておきたいですね。
type Cost int8 const ( _ Cost = iota Cost1 Cost2 Cost3 Cost4 Cost5 ) var constString = map[string]Cost{ "$": Cost1, "$$": Cost2, "$$$" : Cost3, "$$$$" : Cost4, "$$$$$" : Cost5, } func (l Cost) String() string { for s, v := range constString { if l == v { return s } } return "不正な値です" } func ParseCost(s string) Cost { return constString[s] }
いままでmapで定数値に合ったstringを書いていたのに不満があり、いい方法がないか考えていました。このソースを見ると感心しますね。
気づきがあるのは、ありがたいです。
次は「ファイルシステムのバックアップ」です。