#golang リフレクションを使って、キャストするには?

Posted by kwmt on Wed, Oct 9, 2013

http://play.golang.org/p/gvadP4k1Bo

strconv.FormatIntの第一引数は”int64″型で、strconv.FormatUintの第一引数は”uint64″型です。

たとえば、ただ100と書くとint型になりますので、fv.Callの引数のところで、キャストしてあげる必要があります。キャストするには、reflectパッケージのConvertメソッドを使います。

ほとんど同じ処理で、ある一部分だけ異なる関数を使っているという場合に役に立つと思います。

ちなみに、このConvertメソッドは、go1.1のリリース時に追加されました。

http://golang.org/doc/go1.1#reflect

参考

  • goken/goken08-reflect.md at master · goken/goken
  • http://golang.org/pkg/reflect/#Value.Convert
  • #golang リフレクションを使って、関数の引数の型を取得するには? | Androg
  • #golang リフレクションを使って、関数をコールするには? | Androg


comments powered by Disqus