goはASTの解析が手軽なのが便利。ところでこれにgo/typesの機能を使うととても便利になる。その威力を一番わかりやすく体験できそうな例を思いついたので紹介する。 (実際にはgo/typesの機能の使いかたはこれいがいにも色々ある) go/types? go/typesというのは概ねgoで型情報を扱う時に使うことになるパッケージ。(ちなみにgolang.org/x/tools/go/loader経由でソースコードを読むと自動で使われるので個人的にはloader経由で使うことが多い) importしたパッケージのpathを変える importしたパッケージのpathを変えてみたい。例えばの例なのでテキトウだけれど。fmtパッケージのimportをfmt2パッケージのimportに変える例を紹介する。例えば以下の様なコードが fmt.Println("hello") 以下の様になってくれれ