在Go 結構體中儲存String 和Int 值
在Go 中,不可能將string 和int 值直接儲存在結構體中單一結構體字段。這是由於該語言的強型別系統,它要求變數具有特定的、定義良好的類型。
可能的解決方案
要解決此限制,您可以幾個選項:
Go 1.18 及更高版本中的接口實現
使用接口,您可以創建可以同時保存字符串和整數值的類型。這是一個範例:
type Input interface { IsValid() bool Value() interface{} } type TestCaseBool struct { input bool isValid bool } func (tc TestCaseBool) IsValid() bool { return tc.isValid } func (tc TestCaseBool) Value() interface{} { return tc.input }
您現在可以使用 TestCaseBool 結構來保存布林值或空介面。
注意:此解決方案需要 Go 1.18或更高等級的工作。
以上是如何在 Go 結構中同時儲存 String 和 Int 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!