yuralog

ひびのめもだよ!

2019-01-01から1年間の記事一覧

浮動小数点の比較(Go)

f := 0.1 f += 0.2 fmt.Println("f: ", f) // 0.30000000000000004 fmt.Println(f == 0.3) // false 丸め誤差の対策として、2つの浮動小数点は直接比較するのではなく、2つの数の差の絶対値を求めて十分に小さいことを確認する fmt.Println(math.Abs(f - 0…

go-playground/validator(validator.v9) で struct の tag情報を取得する

go-playground/validator を使ったときにバリデーション対象のstruct tag(下のコードだとjson) の名前を取得したいときは RegisterTagNameFunc を使う。 下コードのLine 22の name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0] のjsonを変更して別の…