- 作者: 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を書いていたのに不満があり、いい方法がないか考えていました。このソースを見ると感心しますね。
気づきがあるのは、ありがたいです。
次は「ファイルシステムのバックアップ」です。