Skip to content
Check which interfaces a Go type implements
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

This program has been deprecated. Consider using guru instead, which can answer the same question as this tool, and many more.


implements is a command line tool that will tell you which types implement which interfaces, or which interfaces are implemented by which types.


go get


implements -help to get a description of the use flags and example usage.


Yes, there are potentially ℙ(M) unique interfaces (all combinations of method signatures), and an unlimited amount of not-unique named and unnamed interfaces. That, however, isn't the scope of this tool. This is more of a "what types that I care about implement io.Reader?" or a "does my type really implement http.File?" – This would be especially useful for early discovery of the standard libraries, enriching Go documentation and assisting editors and IDEs in providing live feedback and possibly auto completion.

Again, the idea is not to run this unconditionally on all code there is, but on for example the standard library and specific packages/types you care about.

Something went wrong with that request. Please try again.