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

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

Mary-Kate Olsen
リリース: 2024-12-16 16:14:11
オリジナル
972 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート