マッピングにおける複数の関数タイプ、Golang

WBOY
リリース: 2024-02-12 08:39:09
転載
880 人が閲覧しました

マッピングにおける複数の関数タイプ、Golang

Map は Golang の強力なデータ構造で、ある値を別の値に関連付けることができます。 Golang では、マッピングを使用してさまざまなタイプの関数を実装できます。この記事では、PHP エディターの Youzi が、通常の関数、匿名関数、メソッドなど、マッピングにおけるさまざまな関数の種類を紹介します。それだけでなく、関数をマッピングの値として使用する方法を検討し、その能力と柔軟性を実証します。初心者でも経験豊富な Golang 開発者でも、この記事ではマッピングにおける関数型をより深く理解し、適用するのに役立つ知識と例を提供します。探検を始めましょう!

質問内容

ユーザー入力を関数に結び付けたい。ユーザー入力は文字列です。例えば、 "func_name=MyPrintf&s1=こんにちは、世界\!" または "func_name=MyAdd&i1=1&i2=2"

各関数のコードは次のとおりです。

リーリー

以下のような地図が欲しいのですが、

リーリー

myMap は、ユーザーが入力した func_name 文字列を介して関数を呼び出すことができます。

myMap[関数名](s1) 出力: Hello world! myMap[関数名](i1, i2) 出力: 3

###出来ますか? おそらく、「eval」を使用することは可能だと思いますが、「eval」を使用するのは悪いと聞きました。そこで関数ポインタを使おうと考えたのですが、Golangには関数ポインタがありません。

Golang の一般的なプログラミングを試してみました。

リーリー

出力: エラーが発生しました: Myfunc 型は型制約の外では使用できません: インターフェイスには型制約が含まれています

###もう一度やり直してください、### リーリー

出力: こんにちは、世界!

リーリー

出力: 3

これは機能しますが、正しい関数タイプを指定する必要があり、あまり快適ではありません。この方法は私のシナリオには適していないと思います。助けてください。 私の下手な英語の文章ですみません。

解決策

これを試すことができます:

間違ったタイプによって引き起こされるパニック/エラーは検証されていないため、これは良い習慣ではないと言わざるを得ません。別のアプローチを検討します。

リーリー

以上がマッピングにおける複数の関数タイプ、Golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート