首頁  >  文章  >  後端開發  >  如何在 GORM 模型中初始化 sql.NullString?

如何在 GORM 模型中初始化 sql.NullString?

DDD
DDD原創
2024-11-05 12:46:02758瀏覽

How to Initialize sql.NullString in GORM Models?

無法使用String 為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>

作為替代方案,可以建立自訂可為空字串類型以允許更簡單的語法:

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn