List of all Go Interfaces

Michel Casabianca

2014-10-28

List of all Go Interfaces

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!