Sweetohm

Michel Casabianca


While attending dotGo, where the buzzword was clearly the interface, I was wondering where I could find a list of all interfaces defined in the GO language. I found nowhere.

Thus I decided to write a little GO program that would;

  • Downloads the GO source tarball for a given version.
  • Parses source files to extract the interface names and line number where they are defined.
  • Write this list on the console in the markdown format.

The project is on Github: https://github.com/c4s4/gointerfaces.

Here is the result:

Interface Package 1.21.5 1.20.12 1.16.14 1.12.17 1.8.7 1.4.3 1.0.3
AEAD crypto/cipher source source source source source source -
Addr net source source source source source source source
AppendByteOrder encoding/binary source source - - - - -
Auth net/smtp source source source source source source source
BinaryMarshaler encoding source source source source source source -
BinaryUnmarshaler encoding source source source source source source -
Block go/doc/comment source source - - - - -
Block crypto/cipher source source source source source source source
BlockMode crypto/cipher source source source source source source source
BufferPool net/http/httputil source source source source source - -
ByteOrder encoding/binary source source source source source source source
ByteReader io source source source source source source source
ByteScanner io source source source source source source source
ByteWriter io source source source source source source -
C1 go/doc/testdata/examples source source - - - - -
C2 go/doc/testdata/examples source source - - - - -
ClientCodec net/rpc source source source source source source source
ClientSessionCache crypto/tls source source source source source source -
CloseNotifier net/http source source source source source source -
Closer io source source source source source source source
Color image/color source source source source source source source
ColumnConverter database/sql/driver source source source source source source source
Conn database/sql/driver source source source source source source source
Conn net source source source source source source source
Conn syscall source source source source - - -
ConnBeginTx database/sql/driver source source source source source - -
ConnPrepareContext database/sql/driver source source source source source - -
Connector database/sql/driver source source source source - - -
Context context source source source source source - -
CookieJar net/http source source source source source source source
Curve crypto/elliptic source source source source source source source
Curve crypto/ecdh source source - - - - -
Decl go/ast source source source source source source source
Decrypter crypto source source source source source - -
DecrypterOpts crypto - - source source source - -
DirEntry io/fs source source source - - - -
Drawer image/draw source source source source source source -
Driver database/sql/driver source source source source source source source
DriverContext database/sql/driver source source source source - - -
EncoderBufferPool image/png source source source source - - -
Error runtime source source source source source source source
Error net source source source source source source source
Execer database/sql/driver source source source source source source source
ExecerContext database/sql/driver source source source source source - -
Expr go/ast source source source source source source source
Expr go/build/constraint source source source - - - -
FS io/fs source source source - - - -
File net/http source source source source source source source
File mime/multipart source source source source source source source
File io/fs source source source - - - -
FileInfo os - - - source source source source
FileInfo io/fs source source source - - - -
FileSystem net/http source source source source source source source
Flusher net/http source source source source source source source
Formatter fmt source source source source source source source
Generator testing/quick source source source source source source source
Getter flag source source source source source source -
GlobFS io/fs source source source - - - -
GoStringer fmt source source source source source source source
GobDecoder encoding/gob source source source source source source source
GobEncoder encoding/gob source source source source source source source
Handler net/http source source source source source source source
Handler log/slog source - - - - - -
Hash hash source source source source source source source
Hash32 hash source source source source source source source
Hash64 hash source source source source source source source
Hijacker net/http source source source source source source source
Image image/draw source source source source source source source
Image image source source source source source source source
Importer go/types source source source source source - -
ImporterFrom go/types source source source source source - -
Interface container/heap source source source source source source source
Interface sort source source source source source source source
Leveler log/slog source - - - - - -
Listener net source source source source source source source
Load debug/macho source source source source source source source
Locker sync source source source source source source source
LogValuer log/slog source - - - - - -
Marshaler encoding/json source source source source source source source
Marshaler encoding/xml source source source source source source -
MarshalerAttr encoding/xml source source source source source source -
Model image/color source source source source source source source
NamedValueChecker database/sql/driver source source source source - - -
Node text/template/parse source source source source source source source
Node go/ast source source source source source source source
Object go/types source source source source source - -
Ordered cmp source - - - - - -
PacketConn net source source source source source source source
PalettedImage image source source source source source source source
Pinger database/sql/driver source source source source source - -
PrivateKey crypto - - source source source source source
PublicKey crypto - - source source source source -
PublicSuffixList net/http/cookiejar source source source source source source -
Pusher net/http source source source source source - -
Quantizer image/draw source source source source source source -
Queryer database/sql/driver source source source source source source -
QueryerContext database/sql/driver source source source source source - -
RGBA64Image image/draw source source - - - - -
RGBA64Image image source source - - - - -
RawConn syscall source source source source - - -
ReadCloser io source source source source source source source
ReadDirFS io/fs source source source - - - -
ReadDirFile io/fs source source source - - - -
ReadFileFS io/fs source source source - - - -
ReadSeekCloser io source source source - - - -
ReadSeeker io source source source source source source source
ReadWriteCloser io source source source source source source source
ReadWriteSeeker io source source source source source source source
ReadWriter io source source source source source source source
Reader image/jpeg source source source source source source source
Reader compress/flate source source source source source source source
Reader io source source source source source source source
ReaderAt io source source source source source source source
ReaderFrom io source source source source source source source
Resetter compress/zlib source source source source source source -
Resetter compress/flate source source source source source source -
ResponseWriter net/http source source source source source source source
Result database/sql source source source source source source source
Result database/sql/driver source source source source source source source
RoundTripper net/http source source source source source source source
RoutingMessage syscall source source source source source source source
Rows database/sql/driver source source source source source source source
RowsColumnTypeDatabaseTypeName database/sql/driver source source source source source - -
RowsColumnTypeLength database/sql/driver source source source source source - -
RowsColumnTypeNullable database/sql/driver source source source source source - -
RowsColumnTypePrecisionScale database/sql/driver source source source source source - -
RowsColumnTypeScanType database/sql/driver source source source source source - -
RowsNextResultSet database/sql/driver source source source source source - -
RuneReader io source source source source source source source
RuneScanner io source source source source source source source
ScanState fmt source source source source source source source
Scanner database/sql source source source source source source source
Scanner fmt source source source source source source source
Seeker io source source source source source source source
ServerCodec net/rpc source source source source source source source
SessionResetter database/sql/driver source source source source - - -
Signal os source source source source source source source
Signer crypto source source source source source source -
SignerOpts crypto source source source source source source -
Sizes go/types source source source source source - -
Sockaddr syscall source source source source source source source
Source math/rand source source source source source source source
Source64 math/rand source source source source source - -
StatFS io/fs source source source - - - -
State fmt source source source source source source source
Stmt database/sql/driver source source source source source source source
Stmt go/ast source source source source source source source
StmtExecContext database/sql/driver source source source source source - -
StmtQueryContext database/sql/driver source source source source source - -
Stream crypto/cipher source source source source source source source
StringWriter io source source source source - - -
Stringer fmt source source source source source source source
SubFS io/fs source source source - - - -
Symbol plugin - - source source source - -
TB testing source source source source source source -
Text go/doc/comment source source - - - - -
TextMarshaler encoding source source source source source source -
TextUnmarshaler encoding source source source source source source -
Token encoding/json - - source source source - -
Token encoding/xml - - source source source source source
TokenReader encoding/xml source source source source - - -
Tx database/sql/driver source source source source source source source
Type go/types source source source source source - -
Type reflect source source source source source source source
Type debug/dwarf source source source source source source source
Unmarshaler encoding/xml source source source source source source -
Unmarshaler encoding/json source source source source source source source
UnmarshalerAttr encoding/xml source source source source source source -
Validator database/sql/driver source source source - - - -
Value database/sql/driver - - source source source source source
Value go/constant source source source source source - -
Value flag source source source source source source source
ValueConverter database/sql/driver source source source source source source source
Valuer database/sql/driver source source source source source source source
Var expvar source source source source source source source
Visitor go/ast source source source source source source source
Wrapper syscall/js - - source source - - -
WriteCloser io source source source source source source source
WriteSeeker io source source source source source source source
Writer io source source source source source source source
WriterAt io source source source source source source source
WriterTo io source source source source source source source

You may find a discussion on these interfaces on this page: http://mwholt.blogspot.fr/2014/08/maximizing-use-of-interfaces-in-go.html.

Enjoy!