ホームページ  >  記事  >  バックエンド開発  >  golangで関数を文字列に変換する

golangで関数を文字列に変換する

王林
王林転載
2024-02-10 11:30:19723ブラウズ

golang 中将 func 转换为字符串

php エディタ Xigua が、golang で func を文字列に変換する方法を紹介します。 golang では func 型が string への変換を直接サポートしていないため、func を string に変換すると、いくつかの問題が発生する可能性があります。ただし、リフレクション機能やその他のテクニックを使用することで、この目標を達成できます。次に、このテクノロジーをよりよく理解し、応用できるように、golang でこの変換プロセスを完了する方法を詳しく紹介します。見てみましょう!

質問の内容

文字列リテラルに変換する必要がある変数に保存された関数がいくつかあります:

リーリー

予期される結果の文字列リテラルは次のとおりです:

リーリー

これが私が試したことです:

リーリー

しかし、これによって得られるのは次のテキストだけです:

testfunc := func(orgid int64) bool {
    return false
}

Solution

@BurakSerdar が言ったように、Go はインタプリタ言語ではなくコンパイル言語であるため、できることはかなり限られています。 reflect は強力なパッケージです。関数名、関数の引数の数、さらには呼び出しスタック (ロギングに便利です) も取得できますが、実際には取得できません。ビルドバイナリ内の関数のソースコードを取得します。

以上がgolangで関数を文字列に変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。