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