...interface の意味を理解する{} (Dot Dot Dot Interface)
Go では、可変個引数関数は、任意の数の入力引数を処理します。
func DPrintf(format string, a ...interface{}) (n int, err error)
などの可変個引数パラメーターを持つ関数を使用すると、任意の数の引数をパラメーターに渡すことができます。
Dot Dot Dot Interface (Variadic Parameter)
パラメータ型の前に使用される ... 表記は、可変個引数パラメータと呼ばれます。これは、関数が指定された型の可変数の引数を受け入れることができることを示します。この場合、パラメータは、interface{} 型の引数を期待します。
Interface
Go のインターフェイス型は、指定された値が適用されるメソッドのセットのコントラクトを定義します。実装する必要があります。インターフェイス{} タイプは、任意のタイプの値を保持できる特別なインターフェイスです。これはプレースホルダとして機能し、有効な Go 値を a パラメータに渡すことができます。
...インターフェースの使用法{}
3 つのドット ..インターフェイス タイプの前に次のことを示します:
例
次のコード スニペットは、...interface{} パラメータがどのように機能するかを示しています。
func main() { n, err := DPrintf("name: %s, age: %d", "John", 30) }
Inこの例では、DPrintf 関数が 2 つの引数 (文字列と整数) を指定して呼び出されます。これらの引数は、interface{} 値のスライスにパッケージ化され、パラメータに渡されます。その後、関数は、文字列の場合は a[0]、整数の場合は a[1] など、スライス構文を使用してこれらの値にアクセスできます。
以上がGo の「...interface{}」 (可変個引数) はどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。