ホームページ  >  記事  >  バックエンド開発  >  Golang のブール値が PATCH で検出されない

Golang のブール値が PATCH で検出されない

王林
王林転載
2024-02-12 20:00:10976ブラウズ

Golang 布尔值未在 PATCH 上检测到

Golang プログラミングでは、PATCH でブール値が検出されないという問題がよくあります。このエラーにより、プログラムが適切に機能しなくなったり、予期しない結果が生じたりする可能性があります。この記事では、PHP エディターの Baicao がこの問題の原因と解決策を紹介し、読者がこの問題をすぐに解決できるようにします。初心者でも経験豊富な開発者でも、この記事は Golang コードをより堅牢で信頼性の高いものにするための役立つガイダンスとアドバイスを提供します。

質問内容

クライアントがアクティブかどうかを示すアプリケーションを作ろうとしています。 clientactive ブール値を手動で false に設定すると、正常に true に変換できます。ただし、true の場合、false には設定されません。 gofiber と gorm

を使用しています

model/client.go

リーリー

ハンドラー/clienthandler.go

リーリー

他のすべての行は問題なく更新されます。唯一の問題は clientactive ブール値です。

完全なコードは https://github.com/simpleittools/assetapi で入手できます

データがブール値として送信されていることを確認しました。データベース入力の前後の両方で fmt.println(client) を実行しましたが、正しく false が表示されます。

このプロセス中にエラーは発生しません。

解決策

gorm のデフォルト値のドキュメント の内容:

デフォルト値が定義されているフィールドの場合、ゼロ値 (0、''、false など) はデータベースに保存されません。これを回避するには、ポインタ タイプまたはスキャナ/バリュエータを使用する必要がある場合があります。

フィールド タイプを *bool:

に変更することで修正されました リーリー

以上がGolang のブール値が PATCH で検出されないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。