私は主に PHP 開発者ですが、最近 Go を調べ始めました。PHP では、次のようなことができます。
<?php
class TestClass {
public function testMethod() {
echo "Hello!\n";
}
}
$obj = new TestClass();
$method_name = "testMethod";
$obj->{$method_name}();
?>
出力は次のとおりHello!
です。
Goにはクラスがないため、以下は完全な比較ではないことは理解していますが、Goのモジュールのエクスポートされたプロパティで同様のことができるかどうか疑問に思っています。たとえば、次のようなものです (これは有効な Go コードではないことを理解しています)。
package main
import "fmt"
func main() {
name := "Println"
fmt[name]("Hello!")
}
これはとにかく可能ですか?どうすれば同様のことを達成できますか? ありがとうございました。
編集:「モジュール」を「パッケージ」に変更しました。これは、Go で参照していたものの適切な名前であるためです。