型パラメータ(generics)とerrors.Joinを使ってバリデータを作っています。 github.com 経緯 Goで値のバリデーションを行う場合、有名なライブラリには以下の2つがあります。 go-playground/validator go-ozzo/ozzo-validation go-playground/validator はよくある構造体のフィールドに validate:"required" のようにタグを付けるスタイルのバリデータです。awesome-goで紹介されているvalidatorのほとんどはこのスタイルで人気もありますが、個人的には validate:"required" 程度ならともかく validate:"oneof='red green' 'blue'" あたりからは、手軽さよりも複雑さの方が強くて少々厳しいなと感じます。 一方、 go-ozzo/oz