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

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

王林
リリース: 2024-02-10 11:30:19
転載
761 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート