前置き Go で EventEmitter/Dispatcher 的なことをしたい場合、 emission や go-pubsub などの既存のライブラリを使うのが最も手っ取り早いと思いますが、 golang で event emitter/dispatcher 的なもの | tech - 氾濫原 リフレクションで型変換は隠蔽されているが、もしリスナーとエミッターとで型が食い違っていると、実行時エラーになる。 「イベント名」というパラメータが存在せず、型の選択によって自動的にディスパッチされる。よって型がマッチしなければリスナーは実行されないので、原理的に型変換の実行時エラーは発生しない (もし間違えた場合単に実行時になって「呼ばれない」ことに気付く) で解説されている通り、上記ライブラリではコードにミスがあった場合、実行時でないとその問題が露見しません。 やはり静的型付け言語を書いている