はじめに この記事はGo2 Advent Calendar 2021 23日目の記事です。 TL; DR; go/types で go moduleを有効にするためには golang.org/x/tools/go/packages を使う。以上。 pkg.go.dev godoc.org 旅のはじまり 日頃仕事でDX(Developer Experienceの方)おじさんをやっている関係上、Code Generate ツールを書くことが結構ありまして、その際に go/types が便利なのでよく使っています。 AST は生で触ると結構大変ですが、このgo/typesパッケージを利用することで、あたかも reflection のような感覚で扱うことが出来ます。 例えば embedded は AST の鬼門ですが、go/types を使うと非常に楽ちんです。go/typesサイコー! 例えばこ