[解決済み] Go 言語で実行時に変数の型をチェックする方法
2023-04-22 02:46:45
質問
以下のようなC言語の関数がいくつかあります。
CURLcode curl_wrapper_easy_setopt_long(CURL* curl, CURLoption option, long param);
CURLcode curl_wrapper_easy_setopt_str(CURL* curl, CURLoption option, char* param);
これらを一つのGo関数として、以下のように公開したいと思います。
func (e *Easy)SetOption(option Option, param interface{})
をチェックできるようにする必要があります。 パラメータ の型を実行時にチェックできるようにする必要があります。どのようにそれを行うのですか、そして、これは良いアイデアですか(そうでない場合は、この場合の良い習慣は何ですか)?
どのように解決するのですか?
こちらのタイプアサーションをご覧ください。
http://golang.org/ref/spec#Type_assertions
私なら、常識的な型(string, uint64)などをアサートして、できるだけ緩く保ち、最後にネイティブ型への変換を実行します。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] intをint64に変換するには?
-
[解決済み] response.Bodyを閉じないとどうなりますか?
-
[解決済み] ゴルーチンの停止方法
-
[解決済み] オブジェクトのプロパティを二重引用符で囲んで使用するには?
-
[解決済み] reflectを使用して、構造体フィールドの値を設定するにはどうすればよいですか?
-
[解決済み] GoのToString()関数
-
[解決済み] Goで関数の名前を取得するには?
-
[解決済み] golangでは、マップから値のスライスを取得する良い方法はありますか?
-
[解決済み] Goにはラムダ式というものがあるのですか?
-
[解決済み] Go オブジェクトのポインタ値を表示するにはどうすればよいですか?ポインタの値は何を意味するのですか?