Go で変数の型を動的にチェックする
複数の C 関数を 1 つの Go 関数として公開する場合、変数の型を決定する必要があります。実行時に渡されるパラメータ。 Go の型スイッチは、これに対する効果的な解決策を提供します。
パラメータの型を確認するには、switch ステートメントを次のように使用できます。
switch v := param.(type) { case uint64: // Handle uint64 type case string: // Handle string type default: // Handle unexpected type }
この型スイッチは、パラメータの型を確認します。渡されたパラメータを受け取り、対応するケースを実行します。たとえば、複数の C 関数を 1 つの Go 関数として公開するために使用できます:
func (e *Easy)SetOption(option Option, param interface{}) { switch v := param.(type) { default: fmt.Printf("unexpected type %T", v) case uint64: e.code = Code(C.curl_wrapper_easy_setopt_long(e.curl, C.CURLoption(option), C.long(v))) case string: e.code = Code(C.curl_wrapper_easy_setopt_str(e.curl, C.CURLoption(option), C.CString(v))) } }
この例では、型スイッチにより SetOption 関数が uint64 と string パラメータの両方を処理し、適切な C 関数を呼び出すことができます。それに応じて。このアプローチは、Go でさまざまな型のパラメーターを操作するための便利で安全な方法を提供します。
以上がGo で変数の型を動的にチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。