文字列値と整数値の両方を Go 構造体に保存する
Go では、文字列値と整数値の両方を構造体に直接保存することはできません。単一の構造体フィールド。これは、言語の強力な型システムによるもので、変数には特定の明確に定義された型が必要です。
考えられる解決策
この制限を回避するには、次のようにします。いくつかのオプション:
Go 1.18 以降でのインターフェイスの実装
インターフェイスを使用すると、string 値と int 値の両方を保持できる型を作成できます。以下に例を示します。
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 が必要です。またはそれ以上のレベルで動作します。
以上がString 値と Int 値の両方を Go 構造体に格納するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。