ホームページ  >  記事  >  バックエンド開発  >  GORM モデルで sql.NullString を初期化するにはどうすればよいですか?

GORM モデルで sql.NullString を初期化するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-05 12:46:02674ブラウズ

How to Initialize sql.NullString in GORM Models?

文字列を sql.NullString として使用できません: 型変換が必要です

gorm モデルを作成して sql.NullString を使用すると、エラーが発生する場合がありますこれは、文字列を sql.NullString として使用できないことを示します。これは、sql.NullString が初期化に特定の要件を持つ構造体であるためです。

この問題を解決するには、正しい構文を使用して Something フィールドを初期化する必要があります。

<code class="golang">db.Create(&Day{
    Nameday:     "Monday",
    Dateday:     "23-10-2019",
    Something:   sql.NullString{String: "a string goes here", Valid: true},
    Holyday:     false,
})</code>

代わりに、カスタムの null 許容文字列タイプを作成して、より単純な構文を許可できます:

<code class="golang">type MyString string

const MyStringNull MyString = "\x00"

// Implement the necessary interfaces for GORM
func (s MyString) Value() (driver.Value, error) { ... }
func (s *MyString) Scan(src interface{}) error { ... }</code>

このカスタム タイプを使用すると、Something フィールドを当初の意図どおりに初期化できます:

<code class="golang">db.Create(&Day{
    Nameday:     "Monday",
    Dateday:     "23-10-2019",
    Something:   "a string goes here",
    Holyday:     false,
})</code>

以上がGORM モデルで sql.NullString を初期化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。