[解決済み] Goで関数の名前を取得するには?
2022-08-30 18:45:16
質問
ある関数が与えられたとき、その名前を得ることは可能ですか?言ってみてください。
func foo() {
}
func GetFunctionName(i interface{}) string {
// ...
}
func main() {
// Will print "name: foo"
fmt.Println("name:", GetFunctionName(foo))
}
と言われましたが ランタイム.FuncForPC が役立つと言われましたが、その使い方を理解できませんでした。
どのように解決するのですか?
解決策を見つけました。
package main
import (
"fmt"
"reflect"
"runtime"
)
func foo() {
}
func GetFunctionName(i interface{}) string {
return runtime.FuncForPC(reflect.ValueOf(i).Pointer()).Name()
}
func main() {
// This will print "name: main.foo"
fmt.Println("name:", GetFunctionName(foo))
}
関連
-
[解決済み] リフレクションを使用して文字列からプロパティ値を取得する
-
[解決済み] コードが含まれるアセンブリのパスを取得するにはどうすればよいですか?
-
[解決済み] Java のメソッド名を文字列で指定した場合、どのように呼び出すのですか?
-
[解決済み] Enumの値の属性の取得
-
[解決済み] Goでオブジェクトの型を見つけるには?
-
[解決済み] 2枚のスライスの等価性を確認する
-
[解決済み】関数宣言の構文:関数名の前に括弧でくくられたもの
-
[解決済み】インターフェースのスライスを変換するタイプ
-
[解決済み] Java Reflectionです。変数の名前を取得する方法は?
-
[解決済み] time.Sleepを使わずにすべてのゴルーチンが終了するのを待つには?
最新
-
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 実装 サイバーパンク風ボタン