Go の Void ポインターとしてのインターフェイス
データ構造ライブラリでは、多くの場合、さまざまなデータ型を操作することが望ましいです。 C では、これは void ポインターを使用して実行できます。ただし、Go では、void ポインタは使用できません。
Go ソリューション: インターフェイス{}
Go で void ポインタに相当するのは、空のインターフェイス、インターフェイスです。 {}。言語仕様によれば、「すべての型は空のインターフェイスを実装します」。これは、任意の型をインターフェイス型の変数に格納できることを意味します。{}。
使用例
インターフェイス{}を使用するには、その型の変数を宣言するだけです。 :
var v interface{}
その後、任意のデータ型を変数:
v = 10
データは、型アサーションを使用して取得できます:
if number, ok := v.(int); ok { // v can be safely treated as an int }
以上がGo は「interface{}」を使用して Void ポインタをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。