首頁  >  文章  >  後端開發  >  如何正確區分 Go 中的未設定值和空值?

如何正確區分 Go 中的未設定值和空值?

Barbara Streisand
Barbara Streisand原創
2024-10-25 05:26:02415瀏覽

How to Distinguish Properly Between Not Set vs. Empty Values in Go?

正確區分未設定和空值

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

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