Go では、C の void ポインターの概念は、interface{} として示される空のインターフェースに置き換えられます。このインターフェイスは、すべての (非インターフェイス) タイプのセットを表します。特定の型を指定することなく、任意の型の値を保存できます。
空のインターフェイスを使用するには、単にインターフェイス型の変数を宣言します。{}:
var value interface{}
この変数その後、任意の型の任意の値を保持できます。
value = 42 value = "Hello, world!" value = struct{ name string }{name: "John"}
type を使用して、空のインターフェイスに格納されている値にアクセスできます。アサーション:
if x, ok := value.(int); ok { // x is an int } else if y, ok := value.(string); ok { // y is a string }
更新 (2023-09-27):
Go 1.18 以降、any 型がインターフェースのエイリアスとして導入されました。{}空のインターフェイスと同じ機能を提供しますが、より簡潔で読みやすくなっています。
var value any value = 42 value = "Hello, world!" value = struct{ name string }{name: "John"}
以上がC の Void ポインターに相当するものは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。