首頁 > 後端開發 > Golang > 主體

如何在 Go 的結構體欄位中儲存字串和整數值?

DDD
發布: 2024-11-28 00:14:11
原創
852 人瀏覽過

How can I store both string and integer values in a struct field in Go?

結構體欄位中的型別轉換與介面

問題:

問題:

在Go 程式中,結構體用於定義使用者定義的資料類型,該資料類型將多個不同類型的欄位捆綁在一起。但是,如果您希望結構體中的欄位可以同時儲存字串和整數值怎麼辦?

答案:

Go 的類型系統不支援 sum 類型,這會導致允許單一欄位儲存多種類型的值。但是,有一種使用介面的解決方法。介面定義了一組方法,任何實作這些方法的類型都可以用作該介面。

要實現此解決方案,請考慮以下程式碼片段:

在此範例中,我們定義了Input接口,有兩個方法ToString()和ToInteger() ,用於將Input值轉換為字串或整數。 TestCase 結構現在有一個輸入字段,它接受任何實作輸入介面的類型。

要使用此解決方案,您可以定義實作輸入介面的自訂類型:

與這些自訂類型,您可以建立測試案例並將值指派給輸入欄位:雖然這種方法允許您儲存字串和同一欄位中的整數值,需要實作自訂類型和轉換方法,這可能不適用於所有情況。

以上是如何在 Go 的結構體欄位中儲存字串和整數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板