在Go 中使用結構體時,區分從未設定過的值和那些已設定過的值至關重要只是空的,例如空字串。
考慮以下結構:
<code class="go">type Organisation struct { Category string Code string Name string }</code>
要區分從未設定的類別和空白的類別,一種方法可能是使用指向字串的指標:
<code class="go">type Organisation struct { Category *string Code *string Name *string }</code>
但是,Go 中字串的零值是空字串,這意味著無法區分這兩種情況。
在處理資料庫時,區分 NULL 和空字串很重要。為此,database/sql 套件提供了sql.NullString 類型:
<code class="go">type NullString struct { String string Valid bool // Valid is true if String is not NULL }</code>
透過掃描此類型並將其用作查詢參數,database/sql 套件可以為您管理NULL 狀態,有效地區分未設定值和空值。
以上是如何正確區分 Go 中的未設定值和空值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!