Go での構造体の検証
構造体の値の妥当性を検証することは、ソフトウェア開発において重要なタスクです。多数の小さな構造体を扱う場合、各フィールドを個別にチェックするのは面倒な場合があります。構造体を検証するための慣用的なアプローチと代替ソリューションを見てみましょう。
慣用的な検証
ここで提供されている例は、構造体を検証するための一般的なアプローチです。各フィールドは、構造体のメソッドを使用して個別にチェックされます。ただし、フィールドや構造体の数が増えると、この方法は面倒になります。
代替ソリューション
Go コミュニティは、検証プロセスを簡素化するためのさまざまなパッケージを開発しました。そのようなパッケージの 1 つが、人気のある「go-validator」(https://github.com/go-validator/validator) です。
このパッケージを使用すると、構造体内のタグを使用して各フィールドの検証ルールを定義できます。意味。次に、バリデーターは、定義されたルールに対して値を自動的にチェックします。
例
検証ルールを含む次の構造体を考えてみましょう:
<code class="go">import "github.com/go-validator/validator" type Event struct { Id int `validator:"min=1"` UserId int `validator:"min=1"` Start string `validator:"datetime"` End string `validator:"datetime"`</code>
以上がGo で構造体の検証を簡素化する方法: 慣用的なアプローチと「go-validator」の比較?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。