結構體欄位中的型別轉換與介面
問題:
問題:在Go 程式中,結構體用於定義使用者定義的資料類型,該資料類型將多個不同類型的欄位捆綁在一起。但是,如果您希望結構體中的欄位可以同時儲存字串和整數值怎麼辦?
答案:Go 的類型系統不支援 sum 類型,這會導致允許單一欄位儲存多種類型的值。但是,有一種使用介面的解決方法。介面定義了一組方法,任何實作這些方法的類型都可以用作該介面。 要實現此解決方案,請考慮以下程式碼片段:在此範例中,我們定義了Input接口,有兩個方法ToString()和ToInteger() ,用於將Input值轉換為字串或整數。 TestCase 結構現在有一個輸入字段,它接受任何實作輸入介面的類型。 要使用此解決方案,您可以定義實作輸入介面的自訂類型:與這些自訂類型,您可以建立測試案例並將值指派給輸入欄位:雖然這種方法允許您儲存字串和同一欄位中的整數值,需要實作自訂類型和轉換方法,這可能不適用於所有情況。以上是如何在 Go 的結構體欄位中儲存字串和整數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!