Sweetohm

Michel Casabianca


En assistant à la dotGo, où le buzzword était clairement l’interface, je me suis demandé où l’on pouvait se procurer la liste de toutes les interfaces définies dans le langage. J’ai cherché et n’ai trouvé cette information nulle part.

Je me suis donc décidé à écrire un petit programme qui :

  • Télécharge le tarball des sources d’une version donnée.
  • Parse les fichiers sources pour en extraire les interfaces ainsi que le numéro de ligne où elles sont définies.
  • Affiche sur la console la liste de ces interfaces sous la forme d’un tableau markdown.

Le projet se trouve sur Github : https://github.com/c4s4/gointerfaces.

Voici le résultat :

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

On pourra trouver une discussion sur ces interfaces dans l’article suivant (en anglais) : http://mwholt.blogspot.fr/2014/08/maximizing-use-of-interfaces-in-go.html.

Enjoy!