構造体の有効性を判断するには、その各フィールドの正確性を検証する必要があります。このプロセスは、特に多数のフィールドを持つ構造体の場合、退屈になる可能性があります。
提供されたコード スニペットに示されているように、従来のアプローチでは各フィールドを個別に検証する必要があり、フィールドが無効な場合はエラーが発生します。この方法は効果的ではありますが、面倒な場合があります。
代替ソリューション
go-validator パッケージ (https://github.com/go-validator/validator)構造体の検証に対する構造化されたアプローチを提供します。注釈を通じてフィールド検証ルールを表現することでプロセスを簡素化します。
たとえば、パッケージの README で提供されている例では、注釈を使用して NewUserRequest 構造体に次の制約を指定しています:
バリデーター パッケージは、これらのアノテーションに基づいて検証を実行する便利なメソッド (validator.Validate) を提供します。有効性を示すブール値と、検証が失敗した場合のエラーのリストの両方を返します。
以上がGo で構造体を効率的に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。