Go で任意の型を含めることができるデータ構造を作成するには、空のインターフェイスの利用を検討してください。
Go プログラミング言語仕様によると、「すべての型」空のインターフェースを実装してください。」これは、interface{} 型の変数を定義し、それにインターフェイス以外の型の値を割り当てることができることを意味します。
var value interface{} = 10
この機能を使用すると、任意の型の値を格納できるデータ構造を作成できます。 C の void ポインターに似ています。たとえば、各ノードに任意の型の値を含めることができるリンク リストを定義できます。
type Node struct { Value interface{} Next *Node }
Go 1.18 以降、組み込みエイリアス any が、interface{} の同義語として導入されました。これにより、空のインターフェイスに、より簡潔でわかりやすい名前が付けられます。
var value any = 10
空のインターフェイスまたはそのエイリアス any を利用することで、次の値を格納できる Go データ構造を作成できます。任意の型で、C の void ポインターと同様の機能を実現します。
以上がGo の C の Void ポインターに相当するものは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。