ホームページ >バックエンド開発 >Golang >Go の C の Void ポインターに相当するものは何ですか?

Go の C の Void ポインターに相当するものは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 16:14:11925ブラウズ

What is Go's Equivalent to C's Void Pointers?

Go では C の Void ポインターに相当します

Go で任意の型を含めることができるデータ構造を作成するには、空のインターフェイスの利用を検討してください。

空のインターフェイス: インターフェイス{}

Go プログラミング言語仕様によると、「すべての型」空のインターフェースを実装してください。」これは、interface{} 型の変数を定義し、それにインターフェイス以外の型の値を割り当てることができることを意味します。

var value interface{} = 10

この機能を使用すると、任意の型の値を格納できるデータ構造を作成できます。 C の void ポインターに似ています。たとえば、各ノードに任意の型の値を含めることができるリンク リストを定義できます。

type Node struct {
    Value interface{}
    Next  *Node
}

Update: any Alias

Go 1.18 以降、組み込みエイリアス any が、interface{} の同義語として導入されました。これにより、空のインターフェイスに、より簡潔でわかりやすい名前が付けられます。

var value any = 10

結論

空のインターフェイスまたはそのエイリアス any を利用することで、次の値を格納できる Go データ構造を作成できます。任意の型で、C の void ポインターと同様の機能を実現します。

以上がGo の C の Void ポインターに相当するものは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。