zoukankan      html  css  js  c++  java
  • GO语言的开源库

    Indexes and search engines

    These sites provide indexes and search engines for Go packages:

    Contributing

    To edit this page you must be a contributor to the go-wiki project. To get contributor access, send mail to adg@golang.org from your Google Account.

    Dead projects

    If you find a project in this list that is dead or broken, please either mark it as such (if you have edit permissions) or mention it in the #go-nuts IRC channel.

    Table of Contents

    Astronomy

    • gonova - A wrapper for libnova -- Celestial Mechanics, Astrometry and Astrodynamics Library
    • meeus - Implementation of "Astronomical Algorithms" by Jean Meeus
    • novas - Interface to the Naval Observatory Vector Astrometry Software (NOVAS)
    • go-fits - FITS (Flexible Image Transport System) format image and data reader

    Build Tools

    • colorgo - Colorize go build output
    • fileembed-go - This is a command-line utility to take a number of source files, and embed them into a Go package
    • gb - A(nother) build tool for go, with an emphasis on multi-package projects
    • GG - A build tool for Go in Go
    • go-pkg-config - lightweight clone of pkg-config
    • goam - A simple project build tool for Go
    • godag - A frontend to the Go compiler collection
    • goenv - goenv provides Go version and Go workspace management tools
    • goscons - Another set of SCons builders for Go
    • gotgo - An experimental preprocesor to implement 'generics'
    • goxc - A build tool with a focus on cross-compiling, packaging, versioning and distribution
    • GVM - GVM provides an interface to manage Go versions
    • SCons Go Tools - A collection of builders that makes it easy to compile Go projects in SCons

    Caching

    • cache2go - A caching library with expiration capabilities and access counters
    • go-cache - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications
    • gomemcache - a memcached client
    • gomemcached - A memcached server in go
    • groupcache - Caching and cache-filling library, intended as a replacement for memcached in many cases
    • libmemcache - Fast client and server libraries speaking memcache protocol
    • memcache - go memcached client, forked from YouTube Vitess
    • memcached - Fast memcache server, which supports persistence and cache sizes exceeding available RAM
    • memcached-bench - Benchmark tool for memcache servers
    • YBC bindings - Bindings for YBC library providing API for fast in-process blob cache

    Cloud Computing

    • Docker - The Linux container runtime. Developed by dotCloud.
    • gocircuit - A distributed operating system that sits on top of the traditional OS on multiple machines in a datacenter deployment. It provides a clean and uniform abstraction for treating an entire hardware cluster as a single, monolithic compute resource. Developed by Tumblr.
    • gosync - A package for syncing data to and from S3.
    • juju - Orchestration tool (deployment, configuration and lifecycle management), developed by Canonical.
    • ShipBuilder - ShipBuilder is a minimalist open source platform as a service, developed by Jay Taylor.
    • Tsuru - Tsuru is an open source polyglot cloud computing platform as a service (PaaS), developed by Globo.com.
    • swift - Go language interface to Swift / Openstack Object Storage / Rackspace cloud files

    Command-line Option Parsers

    • argcfg - Use reflection to populate fields in a struct from command line arguments
    • cobra - A commander for modern go CLI interactions supporting commands & POSIX/GNU flags
    • command - Add subcommands to your CLI, provides help and usage guide.
    • getopt - Yet Another getopt Library for Go. This one is like Python's.
    • getopt - full featured traditional (BSD/POSIX getopt) option parsing in Go style
    • gnuflag - GNU-compatible flag parsing; substantially compatible with flag.
    • go-flags - command line option parser for go
    • go-options - A command line parsing library for Go
    • goopt - a getopt clone to parse command-line flags
    • options - Self documenting CLI options parser
    • opts.go - lightweight POSIX- and GNU- style option parsing
    • pflag - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
    • subcommands - A concurrent, unit tested, subcommand library
    • go-commander - Simplify the creation of command line interfaces for Go, with commands and sub-commands, with argument checks and contextual usage help. Forked from the "go" tool code.
    • uggo - Yet another option parser offering gnu-like option parsing. This one wraps (embeds) flagset. It also offers rudimentary pipe-detection (commands like ls behave differently when being piped to).

    Command-line Tools

    • GoPasswordCreator - A small tool, which creates random passwords
    • gich - A cross platform which utility written in Go
    • gocreate - Command line utility that create files from templates.
    • gojson - Command-line tool for manipulating JSON for use in developing Go code.
    • jsonpp - A fast command line JSON pretty printer.
    • passhash - Command-line utility to create secure password hashes
    • pwdgen - A small tool, which generate human password, written in Go.
    • tecla - Command-line editing library
    • DevTodo2 - A small command-line per-project task list manager.

    Compression

    • dgolzo - LZO bindings
    • fast-archiver - Alternative archiving tool with fast performance for huge numbers of small files
    • gbacomp - A Go library to (de)compress data compatible with GBA BIOS
    • go-lz4 - Port of LZ4 lossless compression algorithm to Go.
    • go-lzss - Implementation of LZSS compression algorithm in Go
    • go-sevenzip - Package sevenzip implements access to 7-zip archives (wraps C interface of LZMA SDK)
    • go-zip - A wrapper around C library libzip, providing ability to modify existing ZIP archives.
    • lzma - compress/lzma package for Go
    • snappy-go - Google's Snappy compression algorithm in Go
    • yenc - yenc decoder package
    • zappy - Package zappy implements the zappy block-based compression format. It aims for a combination of good speed and reasonable compression.

    Configuration File Parsers

    • gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections
    • globalconf - Effortlessly persist to and read flag values from an ini config file
    • goconf - a configuration file parser
    • toml :
      • go-toml - Go library for the TOML language
      • go-toml-config - TOML-based config for Go
      • toml - TOML parser for Go with reflection
      • toml-go - An easy-to-use Go parser for the Toml format
      • gp-config - Subset of TOML syntax with basic and reflection APIs
    • yaml :
      • yaml - YAML support for the Go language, by Canonical
      • goyaml - A port of LibYAML to Go

    Console User Interface

    • ansi - Easily create ansi escape code strings and closures to fomat, color console output
    • ansiterm - pkg to drive text-only consoles that respond to ANSI escape sequences
    • gnureadline - GNU Readline bindings
    • go.linenoise - Linenoise bindings (simple and easy readline with prompt, optional history, optional tab completion)
    • go-stfl - a thin wrapper around STFL, an ncurses-based widget toolkit
    • gockel - a Twitter client for text terminals
    • gocurse - Go bindings for NCurses
    • gocurses - NCurses wrapper
    • goncurses - An ncurses library, including the form, menu and panel extensions
    • gopass - Allows typing of passwords without echoing to screen
    • igo - A simple interactive Go interpreter built on exp/eval with some readline refinements
    • oh - A Unix shell written in Go
    • pty - obtain pseudo-terminal devices
    • termbox-go - A minimalist alternative to ncurses to build terminal-based user interfaces
    • termios - Terminal support
    • termon - Easy terminal-control-interface for Go.
    • go.sgr - Terminal/console colors and text decoration (bold,underlined,etc).
    • go-web-shell - Remote web shell, implements a net/http server.

    Cryptography

    • BLAKE2b - Go implementation of BLAKE2b hash function
    • cryptoPadding - Block padding schemes implemented in Go
    • dkeyczar - Go port of Google'e Keyczar cryptography library
    • dkrcrypt - Korean block ciphers: SEED and HIGHT
    • dskipjack - Go implementation of the SKIPJACK encryption algorithm
    • go-hc128 - Go implementation of HC-128, an eSTREAM stream cipher
    • GoSkein - Implementation of Skein hash and Threefisch crypto for Go
    • keccak - A keccak (SHA-3) implementation
    • ketama.go - libketama-style consistent hashing
    • kindi - encryption command line tool
    • scrypt - Go implementation of Colin Percival's scrypt key derivation function
    • simpleaes - AES encryption made easy
    • ssh.go - SSH2 Client library
    • siphash - SipHash: a fast short-input pseudorandom function
    • tiger - Tiger cryptographic hashing algorithm
    • whirlpool - whirlpool cryptographic hashing algorithm
    • cryptogo - some useful cryptography-related functions, including paddings (PKCS7, X.923), PBE with random salt and IV

    Data Processing

    • Heka - Real time data and log file processing engine.
    • gostatsd - Statsd server and library.
    • proto - Map/Reduce/Filter etc. for Go using channels as result streams.
    • rrd - Bindings for rrdtool.

    Data Structures

    Lists

    • GoArrayList - GoArrayList is a Go language substitute for the Java class ArrayList, with very nearly all features.
    • goskiplist - A skip list implementation in Go.
    • itreap - An immutable ordered list, interally a treap.
    • ListDict - Python List and Dict for Go
    • skip - A fast position-addressable ordered map and multimap.
    • skiplist - A skip list implementation. Highly customizable and easy to use.
    • Skiplist - A fast indexable ordered multimap.

    Queues

    • fifo_queue - Simple FIFO queue
    • go-priority-queue - An easy to use heap implementation with a conventional priority queue interface.
    • go.fifo - Simple auto-resizing thread-safe fifo queue.
    • gopqueue - Priority queue at top of container/heap
    • gringo - A minimalist queue implemented using a stripped-down lock-free ringbuffer
    • figo - A simple fifo queue with an optional thread-safe version.
    • queued - A simple network queue daemon

    Graphs

    • goraph - Graph Visualization, Algorithms

    Trees

    • b - Package b implements B+trees with delayed page split/concat and O(1) enumeration. Easy production of source code for B+trees specialized for user defined key and value types is supported by a simple text replace.
    • btree - Package btree implements B-trees with fixed size keys, http://en.wikipedia.org/wiki/Btree
    • go-avltree - AVL tree (Adel'son-Vel'skii & Landis) with indexing added
    • go-darts - Double-ARray Trie System for golang
    • go-stree - A segment tree implementation for range queries on intervals
    • GoLLRB - A Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees in Google Go
    • rbtree - Yet another red-black tree implementation, with a C++ STL-like API
    • rtreego - an R-Tree library
    • gotree - Tree Visualization, Algorithms

    Other

    • asyncwr - Asynchronous, non-blocking, wrapper for io.Writer
    • bigendian - binary parsing and printing
    • collections - Several common data structures
    • data-structures - A collection of data-structures (AVL Tree, B+Tree, Ternary Search Trie, Hash Table (Separate Chaining), Linear Hash Table)
    • deepcopy - Make deep copies of data structures
    • dgobloom - A Bloom Filter implementation
    • epochdate - Compact dates stored as days since the Unix epoch
    • fsm - Minimalistic state machine for use instead of booleans
    • go-algs/ed - Generalized edit-distance implementation
    • go-algs/maxflow - An energy minization tool using max-flow algorithm.
    • go-extractor - Go wrapper for GNU libextractor
    • go-maps - Go maps generalized to interfaces
    • gohash - A simple linked-list hashtable that implements sets and maps
    • Gokogiri - A lightweight libxml wrapper library
    • GoNetCDF - A wrapper for the NetCDF file format library
    • goop - Dynamic object-oriented programming support for Go
    • goset - A simple, thread safe Set implementation
    • gotoc - A protocol buffer compiler written in Go
    • goxml - A thin wrapper around libxml2
    • itertools - Provides generic iteratable generator function along with functionality similar to the itertools python package.
    • jsonv - A JSON validator
    • libgob - A low level library for generating gobs from other languages
    • Picugen - A general-purpose hash/checksum digest generator.
    • ps - Persistent data structures
    • samling - Package samling implements various collection data structures.
    • tribool - Ternary (tree-valued) logic for Go
    • Tuple - Tuple is a go type that will hold mixed types / values
    • vcard - Reading and writing vcard file in go. Implementation of RFC 2425 (A MIME Content-Type for Directory Information) and RFC 2426 (vCard MIME Directory Profile).
    • x2j - Unmarshal XML doc into mapstringinterface{} or JSON
    • xlsx - A library to help with extracting data from Microsoft Office Excel XLSX files.

    Databases and Storage

    See also SQLDrivers page.

    MongoDB

    • mgo - Rich MongoDB driver for Go

    MySQL

    • Go-MySQL-Driver - A lightweight and fast MySQL-Driver for Go's database/sql package
    • MyMySQL - MySQL Client API written entirely in Go.
    • vitess - Scaling MySQL databases for the web

    ODBC

    • go-odbc - ODBC Driver for Go
    • odbc3-go - This package is wrapper around ODBC (version 3).

    PostgreSQL

    • go-libpq - cgo-based Postgres driver for Go's database/sql package
    • go-pgsql - A PostgreSQL client library for Go
    • pgsql.go - PostgreSQL high-level client library wrapper
    • pgx - Go PostgreSQL driver that avoids database/sql in exchange for better PostgreSQL specific support
    • pq - Pure Go PostgreSQL driver for database/sql

    QL

    • ql - A pure Go embedded (S)QL database.

    Redis

    • Go-Redis - Client and Connectors for Redis key-value store
    • godis - Simple client for Redis
    • Tideland CGL Redis - Powerful Redis client with pub/sub support.
    • Redigo - Go client for Redis.
    • redis - Redis client for Golang

    RethinkDB

    SQLite

    ORM

    • beedb - beedb is an ORM for Go. It lets you map Go structs to tables in a database
    • gorm - An ORM library for Go, aims for developer friendly
    • gorp - SQL mapper for Go
    • hood - Database agnostic ORM for Go. Supports Postgres and MySQL.
    • qbs - Query By Struct. Supports MySQL, PosgreSQL and SQLite3.
    • xorm - A Simple and Powerful ORM for Go.
    • go-modeldb - A simple wrapper around sql.DB for struct support.

    Multiple wrappers

    • gosexy/db - an abstraction of wrappers for popular third party SQL and No-SQL database drivers.

    Key-Value-Stores

    • dbm - Package dbm (WIP) implements a simple database engine, a hybrid of a hierarchical and/or a key-value one.
    • Diskv - Home-grown, disk-backed key-value store
    • etcd - Highly-available key value store for shared configuration and service discovery
    • gocask - Key-value store inspired by Riak Bitcask. Can be used as pure go implementation of dbm and other kv-stores.
    • kv - Yet another key/value persistent store. Atomic operations, two phase commit, automatic crash recovery, ...
    • leveldb-go - This is an implementation of the LevelDB key/value database.
    • levigo - levigo provides the ability to create and access LevelDB databases.
    • persival - Programatic, persistent, pseudo key-value storage

    NoSQL

    • tiedot - A NoSQL document database engine using JSON for documents and queries; it can be embedded into your program, or run a stand-alone server using HTTP for an API.

    Other

    • cabinet - Kyoto Cabinet bindings for go
    • cass - Cassandra Client Lib
    • cdb.go - Create and read cdb ("constant database") files
    • CodeSearch - Index and perform regex searches over large bodies of source code
    • couch-go - newer maintained CouchDB database binding
    • couchgo - The most feature complete CouchDB Adapter for Go. Modeled after couch.js.
    • dbxml - A basic interface to Oracle Berkeley DB XML
    • go-db-oracle - GO interface to Oracle DB
    • go-notify - GO bindings for the libnotify
    • go-rexster-client - Go client for the Rexster graph server (part of the TinkerPop suite of graph DB tools)
    • go-sphinx - A sphinx client package for Go, for full text search.
    • go-wikiparse - mediawiki dump parser for working with wikipedia data
    • gographite - statsd server in go (for feeding data to graphite)
    • gokabinet - Go bindings for Kyoto Cabinet DBM implementation
    • goprotodb - A binding to Berkeley DB storing records encoded as Protocol Buffers.
    • goriak - Database driver for riak database (project homepage is now on bitbucket.org)
    • goriakpbc - Riak driver using Riak's protobuf interface
    • gotyrant - A Go wrapper for tokyo tyrant
    • hdfs - go bindings for libhdfs
    • JGDB - JGDB stands for Json Git Database
    • mig - Simple SQL-based database migrations
    • mongofixtures - A Go quick and dirty utility for cleaning MongoDB collections and loading fixtures into them.
    • Neo4j-GO - Neo4j REST Client in golang
    • neoism - Neo4j graph database client, including Cypher and Transactions support.
    • Optimus Cache Prime - Smart cache preloader for websites with XML sitemaps.
    • riako - High level utility methods for interacting with Riak databases
    • Weed File System - fast distributed key-file store
    • whisper-go - library for working with whisper databases
    • squirrel - Fluent SQL generation for golang

    Development Tools

    • cwrap - Go wrapper (binding) generator for C libraries.
    • demand - Download, build, cache and run a Go app easily.
    • godev - Recompiles and runs your Go code on source change. Also watches all your imports for changes.
    • GoWatch - GoWatch watches your dev folder for modified files, and if a file changes it restarts the process.
    • glib - Bindings for GLib type system
    • gocog - A code generator that can generate code using any language
    • godiff - diff file comparison tool with colour html output
    • syntaxhighlighter - language-independent code syntax highlighting library
    • gonew - A tool to create new Go projects
    • go-play - A HTML5 web interface for experimenting with Go code. Like http://golang.org/doc/play but runs on your computer
    • gorun - Enables Go source files to be used as scripts.
    • go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
    • goven - Easily copy code from another project into yours
    • gowatcher - Reload a specified go program automatically by monitoring a directory.
    • goweb - Literate programming tools for Go based on CWEB by Donald Knuth and Silvio Levy.
    • hopwatch - simple debugger for Go
    • hsandbox - Tool for quick exprimentation with Go snippets
    • Livedev - Livedev is a development proxy server that enables live code reloading.
    • liccor - A tool for updating license headers in Go source files
    • liteide - An go auto build tools and qt-based ide for Go
    • rerun - Rerun watches your binary and all its dependencies so it can rebuild and relaunch when the source changes.
    • trace - A simple debug tracing
    • godepgraph - Create a dependency graph for a go package

    Emacs Tags

    • egotags - ETags generator
    • tago - Emacs TAGS generator for Go source
    • tago1 - etags generator for go that builds with go 1

    Distributed/Grid Computing

    • donut - A library for building clustered services in Go
    • locker - A distributed lock service built on top of etcd.
    • Skynet - Skynet is distributed mesh of processes designed for highly scalable API type service provision.

    Documentation

    • GoDoc.org - GoDoc.org generates documentation on the fly from source on Bitbucket, Github, Google Project Hosting and Launchpad.
    • Mango - Automatically generate unix man pages from Go sources
    • godocdown - Format package documentation (godoc) as GitHub friendly Markdown
    • redoc - Commands documentation for Redis
    • sphinxcontrib-golangdomain - Sphinx domain for Go

    Editors

    • Go conTEXT - Highlighter plugin for the conTEXT editor
    • Google Go for Idea - Google Go language plugin for Intellij IDEA
    • go-gedit - Google Go language plugin for gedit
    • goclipse - An Eclipse-based IDE for Go.
    • godev - Web-based IDE for the Go language
    • gofinder - (code) search tool for acme
    • golab - go local application builder - a web-based golang ide
    • tabby - Source code editor
    • godit - A microemacs-like text editor written in Go.
    • ViGo - A vim-like text editor.
    • Conception - Conception is an experimental research project, meant to become a modern IDE/Language package. demo video

    Encodings and Character Sets

    • Mahonia - Character-set conversion library in Go
    • base58 - Human input-friendly base58 encoding
    • bencode-go - Encodeing and decoding the bencode format used by the BitTorrent peer-to-peer file sharing protocol
    • bsonrpc - BSON codec for net/rpc
    • chardet - Charset detection library ported from ICU
    • charmap - Character encodings in Go
    • go-charset - Conversion between character sets. Native Go.
    • go-simplejson - a Go package to interact with arbitrary JSON
    • go-xdr - Pure Go implementation of the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC 4506 (obsoletes RFC 1832 and RFC 1014).
    • gopack - Bit-packing for Go
    • gobson - BSON (de)serializer
    • iconv-go - iconv wrapper with Reader and Writer
    • mimemagic - Detect mime-types automatically based on file contents with no external dependencies
    • go-msgpack - Comprehensive MsgPack library for Go, with pack/unpack and net/rpc codec support (DEPRECATED in favor of codec )
    • codec-msgpack-binc High Performance and Feature-Rich Idiomatic Go Library providing encode/decode support for multiple binary serialization formats: msgpack and binc.
    • msgpack - Msgpack format implementation for Golang
    • msgpack-json - Command-line utilities to convert between msgpack and json
    • storable - Write perl storable data
    • TNetstring - tnetstrings (tagged Netstrings)
    • nnz - String and Int primitives that serialize to JSON and SQL null
    • magicmime -- Mime-type detection with Go bindings for libmagic

    Games

    • bloxorz - Solver for bloxorz basic levels
    • ChessBuddy - Play chess with Go, HTML5, WebSockets and random strangers!
    • Fergulator - An NES emulator, using SDL and OpenGL
    • Gongo - A program written in Go that plays Go
    • Ludo Game - Ludo Board game powered by Go on Appengine
    • godoku - Go Sudoku Solver - example of "share by communicating"
    • gospeccy - A ZX Spectrum 48k Emulator
    • Bampf - Arcade style game based on the Vu 3D engine.

    GIS

    • go-gdal - Go bindings for GDAL
    • go-liblas - Go bindings for libLAS
    • go-proj-4 - An interface to the Cartographic Projections Library PROJ.4
    • gogeos - Go library for spatial data operations and geometric algorithms
    • lvd.go - dense set, byte trie, reed solomon encoding, wgs84 geodesics
    • polyline - Google Maps polyline encoding and decoding
    • geom - Open Geo Consortium-style geometries with native Go GeoJSON, WKB, and WKT encoding and decoding (work-in-progress)

    Go Implementations

    • Express Go - Interpreted Go implementation for Windows
    • llgo - LLVM-based Go compiler, written in Go (work-in-progress)

    Graphics and Audio

    • AnsiGo - Simple ANSi to PNG converter written in pure Go
    • Arclight - Arclight is a tool for rendering images
    • Go-OpenGL - Go bindings for OpenGL
    • GoGL - OpenGL binding generator
    • GoMacDraw - A mac implementation of go.wde
    • Goop - Audio synthesizer engine
    • Plotinum - An API for creating plots
    • Winhello - An example Windows GUI hello world application
    • allergro - basic wrapper for the Allegro library
    • allegro 5 - Go Bindings for Allegro 5 library
    • baukasten - A modular game library.
    • blend - Image processing library and rendering toolkit for Go.
    • bmp.go - package for encoding/decoding Windows BMP files
    • chart - Library to generate common chart (pie, bar, strip, scatter, hstogram) in different output formats.
    • draw2d - This package provide an API to draw 2d geometrical form on images. This library is largely inspired by postscript, cairo, HTML5 canvas.
    • freetype-go - a Go implementation of FreeType
    • gl - OpenGL bindings using glew
    • glfw - bindings to the multi-platform library for opening a window, creating an OpenGL context and managing input
    • glfw 3 - Go bindings for GLFW 3 library
    • glh - OpenGL helper functions to manage text, textures, framebuffers and more
    • glu - bindings to the OpenGL Utility Library
    • egl - egl bindings
    • es2 - es2 bindings
    • go-cairo - Go wrapper for the cairo graphics library
    • go-gd - Go bingings for GD
    • go-gnuplot - go bindings for GNUPlot
    • go-gtk3 - gtk3 bindings for go
    • go-heatmap - A toolkit for making heatmaps
    • go-openal - Experimental OpenAL bindings for Go
    • go-opencl - A go wrapper to the OpenCL heterogeneous parallel programming library
    • gocl - Go OpenCL (gocl) binding
    • go-opencv - Go bindings for OpenCV
    • go-taglib - Go wrapper for TagLib, an audio meta-data parser
    • go-tmx - A Go library that reads Tiled's TMX files
    • go-vlc - Go bindings for libVLC
    • go.wde - A windowing/drawing/event interface
    • GoHM - H.265/HEVC HM Video Codec in Go
    • GoVisa - H265/HEVC Bitstream Analyzer in Go
    • goHorde - Go Bindings for the Horde3d Rendering engine.
    • gocairo - Golang wrapper for cairo graphics library
    • goexif - Retrieve EXIF metadata from image files
    • goray - Raytracer written in Go, based on Yafaray
    • gosc - Pure Go OSC (Open Sound Control) library
    • gosdl - Go wrapper for SDL
    • goxscr - Go rewrites of xscreensaver ports
    • gst - Go bindings for GStreamer
    • hgui - Gui toolkit based on http and gtk-webkit.
    • imaging - Package imaging provides basic image manipulation functions (resize, rotate, flip, crop, etc.) as well as simplified image loading and saving.
    • portaudio - A Go binding to PortAudio
    • pulsego - Go binding for PulseAudio
    • resize - Image resizing with different interpolations.
    • starfish - A simple Go graphics and user input library, built on SDL
    • svgo - a library for creating and outputting SVG
    • tga - TARGA image format encoding/decoding library
    • window - Optimized moving window for real-time data
    • wingo - A fully-featured window manager written in Go.
    • wxGo - Go Wrapper for the wxWidgets GUI
    • x-go-binding - bindings for the X windowing system
    • xgb - A fork of the x-go-binding featuring support for thread safety and all X extensions.
    • xgbutil - A utility library to make use of the X Go Binding easier. (Implements EWMH and ICCCM specs, key binding support, etc.)
    • vu - Virtual Universe. A skeleton 3D engine.

    GUIs and Widget Toolkits

    • go-fltk - FLTK2 GUI toolkit bindings for Go
    • go-gtk - Bindings for GTK
    • go-qt5 - qt5 bindings for go
    • go.uik - A UI kit for Go, in Go. (project is closed)
    • GoQuick - Go and Qt Quick experimentation
    • gothic - Tcl/Tk Go bindings
    • gotk3 - Go bindings for GTK3, requires GTK version 3.8
    • go-webkit2 - Go bindings for the WebKitGTK+ v2 API (w/headless browser & JavaScript support)
    • Gowut - Gowut (Go Web UI Toolkit) is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go, no platform dependent native code is linked or called.
    • iup - Bindings for IUP
    • mdtwm - Tiling window manager for X
    • qml - QML support for the Go language

    Hardware

    • go.hid - Provides communication with USB Human Interface Devices.
    • hwio - Hardware I/O library for SoC boards including BeagleBone Black and Raspberry Pi.
    • gortlsdr - A librtlsdr wrapper, which turns certain USB DVB-T dongles into a low-cost, general purpose software-defined radio receiver.

    Language and Linguistics

    • alpinocorpus-go - A reader and a writer for Alpino corpora.
    • go-aspell - GNU Aspell spell checking library bindings for Go.
    • go-language - A simple language detector using letter frequency data.
    • go.stringmetrics - String distance metrics implemented in Go
    • inflect - Word inflection library (similar to Ruby ActiveSupport::Inflector). Singularize(), Pluralize(), Underscore() etc.
    • libtextcat - A Go wrapper for libtextcat.
    • textcat - N-gram based text categorization, with support for utf-8 and raw text
    • sego - Chinese language segmenter.
    • goling - String Similarity(Cosine Similarity, Levenshtein Distance), Spell Check, Segmentation
    • gobay - Naive Bayesian Classifier (Sentiment Analysis)
    • gocha - CHILDES data analyzing tool
    • gomata - Automata Theory, Computational Linguistics

    Logging

    • glog - Leveled execution logs for Go
    • factorlog - Really fast, featureful logging infrastructure (supports colors, verbosity, and many formats)
    • seelog - Flexible dispatching, filtering, and formatting
    • timber - Configurable Logger for Go
    • log4go - Go logging package akin to log4j
    • syslog - With this package you can create your own syslog server with your own handlers for different kind of syslog messages
    • graylog-golang - graylog-golang is a full implementation for sending messages in GELF (Graylog Extended Log Format) from Google Go (Golang) to Graylog
    • rfw - Rotating file writer - a 'logrotate'-aware file output for use with loggers

    Machine Learning

    • bayesian - A naive bayes classifier.
    • go-galib - Genetic algorithms.
    • go-porterstemmer - An efficient native Go clean room implementation of the Porter Stemming algorithm.
    • paicehusk - Go implementation of the Paice/Husk Stemmer
    • snowball - Snowball stemmer

    Mathematics

    • Cvx - Convex optimization package, port of CVXOPT python package
    • Units - Implements types, units, converter functions and some mathematics for some common physical types. lib
    • bayesian - Naive Bayesian Classification for Golang
    • blas - Go implementation of BLAS (Basic Linear Algebra Subprograms)
    • cartconvert - cartography functions for the Go programming language
    • dice - Dice rolling library
    • evaler - A simple floating point arithmetic expression evaluator
    • fixed - A fixed point (Q32.32 format) math library.
    • geom - 2d geometry.
    • go.mahalanobis - Naive implementation of the Mahalanobis distance using go.matrix
    • go-fftw - Go bindings for FFTW - The Fastest Fourier Transform in the West
    • go-fn - Special functions that would not fit in "math" pkg
    • go-gt - Graph theory algorithms
    • go-humanize - Formatting numbers for humans.
    • go-lm - Linear models in Go. Provides WLS and regression with t residuals via a cgo -> BLAS/LAPACK interface.
    • go-symexpr - Symbolic math as an AST with derivatives, simplification, and non-linear regression
    • go.matrix - a linear algebra package
    • gochipmunk - Go bindings to the Chipmunk Physics library.
    • gocomplex - a complex number library
    • godec - multi-precision decimal arithmetic
    • gographviz - Graphviz DOT language parser for golang
    • gomat - lightweight FAST matrix and vector math
    • gsl - GNU Scientific Library bindings
    • mathutil - Package mathutil provides utilities supplementing the standard 'math' and 'rand' packages.
    • mt19937_64 - Mersenne Twister int64 random source
    • polyclip.go - Go implementation of algorithm for Boolean operations on 2D polygons
    • pso-go - A library of PSO (Particle Swarm Optimization) for golang.
    • statistics - GNU GSL Statistics (GPLv3)
    • vector - A small vector lib.

    Misc

    • GCSE - Go code search engine. source
    • CGRates - Rating system designed to be used in telecom carriers world
    • Go-PhysicsFS - Go bindings for the PhysicsFS archive-access abstraction library.
    • go.pipeline - Library that emulates Unix pipelines
    • GoFlow - Flow-based and dataflow programming library for Go
    • GoLCS - Sovle Longest Common Sequence problem in go
    • Gotgo - A Go preprocessor that provides an implementation of generics
    • Hranoprovod - Command-line calorie tracking
    • Tideland CGL Monitoring - Flexible monitoring of your application
    • atexit - Simple atexit library
    • bíogo - Basic bioinformatics functions for the Go language.
    • cpu - A Go package that reports processor topology
    • cron - A library for running jobs (funcs) on a cron-formatted schedule
    • dbus-go - D-Bus Go library
    • desktop - Open file/uri with default application (cross platform)
    • devboard - Kanban board application based on Simple-Khanban
    • dump - An utility that dumps Go variables, similar to PHP's var_dump
    • env - Easily pull environment variables with defaults
    • epub - Bindings for libepub to read epub content.
    • faker - Generate fake data, names, text, addresses, etca
    • fsnotify - File system notifications for Go
    • functional - Functional programming library including a lazy list implementation and some of the most usual functions.
    • go-amiando - Wrapper for the Amiando event management API
    • go-bit - An efficient and comprehensive bitset implementation with utility bit functions.
    • go-business-creditcard - Validate/generate credit card checksums/names.
    • gochem - A computational chemistry/biochemistry library.
    • go-ean - A minimal utility library for validating EAN-8 and EAN-13 and calculating checksums.
    • go-eco - Functions for use in ecology
    • go-erx - Extended error reporting library
    • go-fann - Go bindings for FANN, library for artificial neural networks
    • go-idn - a project to bring IDN support to Go, feature compatible with libidn
    • go-metrics - Go port of Coda Hale's Metrics library
    • go-osx-plist - CoreFoundation Property List support for Go
    • go-papi - Go interface to the PAPI performance API
    • go-pkg-mpd - A library to access the MPD music daemon
    • go-pkg-xmlx - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browser and exposes some simpel single/multi-node search functions
    • go-qrand - Go client for quantum random bit generator service at random.irb.hr
    • go-semvar - Semantic versions (see http:/semver.org)
    • go-taskstats - Go interface for Linux taskstats
    • go-translate - Google Language Translate library
    • go-uuid - Universal Unique IDentifier generator and parser
    • go.dbus - Native Go library for D-Bus
    • go.pcsclite - Go wrapper for pcsc-lite
    • goNI488 - A Go wrapper around National Instruments NI488.2 General Purpose Interface Bus (GPIB) driver.
    • goPromise - Scheme-like delayed evaluation for Go
    • goST - A steam properties (steam table) library written for Go. This was designed as a native go equivalent to XSteam.
    • gocsv - Library for CSV parsing and emitting
    • goga - A genetic algorithm framework
    • gogobject - GObject-introspection based bindings generator
    • golife - Implementation of Game of Life for command line
    • gomagic - Libmagic bindings
    • go-magic - A Go wrapper for libmagic
    • go-magic - Simple interface to libmagic for Go Programming Language
    • gommap - gommap enables Go programs to directly work with memory mapped files and devices in a very efficient way
    • goneuro - Go driver for NeuroSky devices.
    • goplan9 - libraries for interacting with Plan 9
    • goraphing - A tool to generate a simple graph data structures from JSON data files
    • go-ses - Amazon AWS Simple Email Service (SES) API client
    • go-systemd - Utility functions for interacting with the systemd init system
    • twitterfetcher - A tool to make Twitter API requests using the Application-only authentication
    • gouuid - Pure Go UUID v3, 4 and 5 generator compatible with RFC4122
    • Prometheus Instrumentation/Metrics Client - This is a whitebox instrumentation framework for servers written in Go. It exposes programmatically-generated metrics automatically for use in the Prometheus time series collection and post-processing environment.
    • koans - programming koans for go
    • lineup - A minimalistic message queue server
    • mimemail - Construct plain text MIME messages for use with net/smtp.
    • mitigation - Package mitigation provides the possibility to prevent damage caused by bugs or exploits.
    • nma.go - A NotifyMyAndroid client for go.
    • passwd - A parser for the /etc/passwd file
    • pool - A generic worker pool
    • primegen.go - Sieve of Atkin prime number generator
    • procfile - A Procfile parser
    • randat - Devel tool for generating random bytestrings and encoding files in code-friendly forms
    • replaykit - A library for replaying time series data.
    • selenium - Selenium client
    • go-selenium - Selenium WebDriver client for Go
    • serial - Serial ports API (pure Go)
    • sio - Package sio lets you access old serial junk. It's a go-gettable fork and modification of dustin's rs232 package.
    • symutils - Various tools and libraries to handle symbolic links
    • udis86 - Go bindings for libudis86
    • xplor - Files tree browser for p9p acme
    • yubigo - Yubikey OTP validation and auhtentication API client.
    • go-villa - Some miscellaneous wrapper and small algorithms.(wrappers to slices, priority queues, path related apis, a string set type)
    • go.bitcoin - Wrapper for bitcoind daemon API, makes working with bitcoins easy.
    • Breaker - Breaker enables graceful degraded mode operations by means of wrapping unreliable interservice interface points with circuit breaker primitives.
    • Wukong - A highly extensible full-text search engine written in Go.
    • gotenv - Loads environment variables from .env file

    Music

    • go-libshout - Go bindings for libshout
    • gompd - A client interface for the MPD (Music Player Daemon)
    • portmidi - Go bindings for libportmidi
    • launchpad - A Go client for Novation Launchpad

    Networking

    • Go Ajax - Go Ajax is a JSON-RPC implementation designed to create AJAX powered websites.
    • GoRTP - RTP / RTCP stack implementation for Go
    • QRP - QRP is a simple packet-based RPC protocol designed as a simple alternative to Go's rpc, that can run over UDP
    • Rsync - Rsync algorithm as a Go library
    • Tonika - Secure social networking platform
    • Uniqush - A free and open source software which provides a unified push service for server-side notification to apps on mobile devices.
    • createsend-go - API client for Monitor http://www.campaignmonitor.com (email campaign service)
    • VDED - Vector Delta Engine Daemon - track deltas in ever-increasing values (written in Go)
    • circle - Go interface to the libcircle distributed-queue API
    • dmrgo - Library for with Hadoop Streaming map/reduce
    • doozerconfig - Go package for managing json-encoded configuration in Doozer
    • doozerd - A consistent distributed data store
    • eventsource - Server-sent events for net/http server.
    • gearman-go - A native implementation for Gearman API with Go.
    • glibvnc - Go wrapper using CGO for the libvnc library.
    • gmail - Simple library for sending emails from a Gmail account, for people not interested in dealing with protocol details.
    • go-curl - libcurl bingding that supports go func callbacks
    • go-dbus - A library to connect to the D-bus messaging system
    • go-icap - ICAP (Internet Content Adaptation Protocol) server library
    • go-imap - IMAP client library
    • go-mail - Email utilities including RFC822 messages and Google Mail defaults.
    • nagiosplugin - package for writing Nagios/monitoring plugins
    • go-nntp - An NNTP client and server library for go
    • go-router - implementation of remote channel communication
    • go-rpcgen - ProtoBuf RPC binding generator for net/rpc and AppEngine
    • go-socket.io - A Socket.IO backend implementation written in Go
    • gosocks - A SOCKS (SOCKS4, SOCKS4A and SOCKS5) proxy client library in Go.
    • go9 - an implementation of the 9P distributed file system protocol
    • go9p - 9p protocol implementation in Go
    • goagain - zero-downtime restarts in Go
    • gobeanstalk - Go Beanstalkd client library
    • godwulf - Gopher server written in Go
    • gogammu - Library for sending and receiving SMS
    • gonetbench - Simple TCP benchmarking tool
    • gonetcheck - package for checking general internet access
    • gopacket - Packet encoding/decoding, pcap/pfring/afpacket support, TCP assembly, and more!
    • gopcap - A simple wrapper around libpcap
    • goprotobuf - the Go implementation of Google's Protocol Buffers
    • gogoprotobuf - another Go implementation of Protocol Buffers, but with extensions and code generation plugins.
    • golang_protobuf_extensions - Protocol Buffer extensions to support streaming message encoding and decoding.
    • goq - A persistent message queue written in Go.
    • gosndfile - Go binding for libsndfile
    • gozmq - Go Bindings for 0mq (zeromq/zmq)
    • handlersocket-go - Go native library to connect to HandlerSocket interface of InnoDB tables
    • imap - Implementation of IMAP4rev1 client, as described in RFC 3501.
    • Inbucket - Inbucket is an email testing service; it will accept messages for any email address and make them available to view via a web interface.
    • ipaddr - basic functions for the manipulation of IP address prefixes and subsequent addresses as described in RFC 4632 and RFC 4291.
    • ipaddress - Convenient ip address functions: ip -> int, int -> ip, and IPNet broadcast address
    • iris - Peer-to-peer messaging for back-end decentralization.
    • iris-go - Go binding for the Iris decentralized messaging framework.
    • kafka.go - Producer & Consumer for the Kafka messaging system
    • ldap - Basic LDAP v3 functionality for the GO programming language.
    • NATS - NATS distributed messaging system client for Go
    • netsnail - A low-bandwidth simulator
    • npipe - a pure Go wrapper for Windows named pipes
    • netutils - Simple interface for turning TCP Sockets into channels.
    • opendap - Go wrapper for Openldap
    • protorpc - Google Protocol RPC for Go and C++
    • remotize - A remotize package and command that helps remotizing methods without having to chaneg their signatures for rpc
    • replican-sync - An rsync algorithm implementation in Go
    • rs232 - Serial interface for those of us who still have modems (or arduinos)
    • rss - RSS parsing library.
    • seamless - Reverse TCP Proxy with HTTP managment API
    • spdy - SPDY library, wired into net/http, currently supporting servers only.
    • statsd-go - Statsd implementation in Go, forked from gographite, which submits to Ganglia
    • stompngo - A Stomp 1.1 Compliant Client
    • stompngo_examples - Examples for stompngo.
    • telnet - A simple interface for interacting with Telnet connection
    • tcp_fallback - A TCP proxy implementing a simple fallback mechanism.
    • tcpmeter - A TCP throughput measuring tool
    • traceroute - A traceoute implementation
    • uritemplates - A level 4 implementation of URI Templates (RFC 6570)
    • sockjs-go - Implements server side counterpart for the SockJS-client browser library.
    • zmq2 - A Go interface to ZeroMQ (zmq, 0MQ) version 2.
    • zmq3 - A Go interface to ZeroMQ (zmq, 0MQ) version 3.
    • zmq4 - A Go interface to ZeroMQ (zmq, 0MQ) version 4.
    • Grumble - Mumble (VoIP) server implementation
    • go-sslterminator - SSL terminator proxy
    • gobench - HTTP/HTTPS load test and benchmark tool
    • Gorilla WebSocket - WebSocket protocol implementation
    • apiproxy - proxy for HTTP/REST APIs with configurable cache timeouts
    • httpfstream - streaming append and follow of HTTP resources (using WebSockets)
    • goproxy - a programmable HTTP proxy.
    • zero-downtime-daemon - Configurable zero downtime daemon (Hot Update) framework for any kind of TCP,HTTP,FCGI services
    • boom - HTTP(s) benchmarking tool, Apache Benchmark replacement

    DNS

    FTP

    • ftp - Package ftp provides a minimal FTP client as defined in RFC 959
    • ftp4go - An FTP client for Go, started as a port of the standard Python FTP client library
    • goftp - A FTP client library

    Instant Messaging

    • GoTY - "Go Troll Yourself", minimalist client IRC library
    • go-irc - Simple IRC client library
    • go-xmpp - XMPP client library
    • gobir - Extensible IRC bot with channel administration, seen support, and go documentation querying
    • goexmpp - XMPP client implementation
    • goirc - event-based stateful IRC client framework
    • gorobot - a modular IRC bot
    • irc.go - Go IRC bot framework
    • ircflu - IRC bot with support for commands, scripting and web-hooks

    Operating System Interfaces

    Other Random Toys, Experiments and Example Code

    P2P and File Sharing

    • Taipei-Torrent - A BitTorrent client
    • ed2kcrawler - eDonkey2000 link crawler
    • gobit - Bittorrent Client in Go
    • gop2p - A simple p2p app to learn Go
    • wgo - A simple BitTorrent client based in part on the Taipei-Torrent and gobit code
    • DHT - Kademlia DHT node used by Taipei-Torrent, compatible with BitTorrent

    Programming

    Scanner and Parser Generators

    • ebnf2y - Utility for converting EBNF grammars into yacc compatible skeleton .y files.
    • fsm - FSM (NFA, DFA) utilities.
    • golex - Lex/flex like fast (DFA) scanners generator.
    • gocc - Go Compiler Compiler
    • gopp - Go Parser Parser
    • Ragel - State Machine Compiler

    Simulation Modeling

    • godes - Library for building discrete event simulation models

    Sorting

    • funnelsort - Lazy funnel sort -- a cache-oblivious sorting algorithm
    • Sortutil - Nested, case-insensitive, and reverse sorting for Go.
    • sortutil - Utilities supplemental to the Go standard "sort" package
    • tarjan - Graph loop detection function based on Tarjan's algorithm
    • timsort - Fast, stable sort, uses external comparator or sort.Interface

    Source Code Management

    • go-deps - Analyzes and recursively installs Go package deps (library functionality similar to go get)
    • go-pkgs - Finds all matching packages in all of the GOPATH trees (library functionality similar to go list all)
    • hggofmt - A Mercurial/hg extension with a hook to
    • nut - Nut is a tool to manage versioned Go source code packages, called "nuts".
    • vcstool - VCS abstraction tool
    • go-diff - A diff command for go languange showing sematic differences of two go source files.
    • go-vcs - clone and check out revs of VCS repositories (git and hg support)
    • go-vcsurl Lenient VCS repository URL parsing library

    Strings and Text

    • Black Friday - A markdown processor
    • NTemplate - Nested Templates
    • binarydist - Binary diff and patch
    • columnize - format slice or array into aligned columns
    • csvutil - A heavy duty CSV reading and writing library.
    • dgohash - Collection of string hashing functions, including Murmur3 and others
    • gettext - Feature complete, cgo
    • gettext-go - GNU's gettext support, written in pure Go
    • go-guess - Go wrapper for libguess
    • go-migemo - migemo extension for go (Japanese incremental text search)
    • goini - A go library to parse INI files.
    • golorem - lorem ipsum generator
    • gosphinx - A Go client interface to the Sphinx standalone full-text search engine
    • gpKMP - String-matching in Golang using the Knuth–Morris–Pratt algorithm
    • hangul - Handy tools to manipulate korean character.
    • kasia.go - Templating system for HTML and other text documents
    • kview - Simple wrapper for kasia.go templates. It helps to modularize content of a website
    • mail.go - Parse email messages
    • peg - Parsing Expression Grammer Parser
    • polyglot - String translation utilities for Go
    • pretty.go - Pretty-printing for go values
    • rubex - A simple regular expression library that supports Ruby's regex syntax. It is faster than Regexp.
    • scanner - A text scanner that parses primitive types, analogous to Java's
    • segment - An implementation of Norvig's recursive word segmentation algorithm
    • strogonoff - Stenography with Go
    • strutil - Package strutil collects utils supplemental to the standard strings package.
    • text - Text paragraph wrapping and formatting
    • go-colortext - Change the color of the text and background in the console, working both in Windows and other systems.
    • goskirt - Upskirt markdown library bindings for Go

    Testing

    • downtest - Automatically run tests for all known downstream consumers of a Go package.
    • go2xunit - Convert "go test -v" output to xunit XML output
    • go.assert - helper functions for the built-in 'testing' package (deleted)
    • goautotest - Automatically run unit tests when code changes are made
    • GoConvey - Browser-based reporting, uses go test, supports traditional Go tests, clean DSL
    • gocov - Code coverage testing/analysis tool
    • ginkgo - BDD Testing Framework for Go.
    • Gocheck - Rich test framework with suites, fixtures, assertions, good error reporting, etc
    • gomega - Ginkgo's Preferred Matcher Library.
    • gomock - a mocking framework for Go.
    • GoSpec - a BDD framework
    • gospecify - another BDD framework
    • go-stat - performant instrumentation/profiling for Go
    • go-tap - TAP (Test Anything Protocol) parser in Go
    • GSpec - Concurrent, minimal, extensible and reliable framework that makes it easy to organize and verify the mind model of software.
    • Nitro - A quick and simple profiler For Golang
    • testflight - Painless http testing in Go
    • terst - A terse, easy-to-use testing library for Go
    • Testify - A set of packages that provide many tools for testifying that your code will behave as you intend.
    • Tideland CGL Asserts - Make asserts during testing and inside of your applications

    Virtual Machines and Languages

    • Gelo - Extensible, embeddable interpreter
    • GoForth - A simple Forth parser
    • GoLightly - A flexible and lightweight virtual machine with runtime-configurable instruction set
    • Golog - Prolog interpreter in Go
    • Minima - A language implemented in Go.
    • RubyGoLightly - An experimental port of TinyRb to Go
    • The erGo™ Compiler - An independent implementation of the Go language.
    • forego - Forth virtual machine
    • go-python - go bindings for CPython C-API
    • GoEmPHP - This package is built for Embedding PHP into Golang.
    • goenv - Create an isolated environment where you install Go packages, binaries, or even C libraries. Very similar to virtualenv for Python.
    • golemon - A port of the Lemon parser-generator
    • goll1e - An LL(1) parser generator for the Go programming language.
    • golua - Go wrapper for LUA's C API
    • golua-fork - A fork of GoLua that works on current releases of Go
    • gotcl - Tcl interpreter in Go
    • meme - Scheme interpreter in Go
    • ngaro - A ngaro virtual machine to run retroForth images
    • otto - A JavaScript parser and interpreter written natively in Go
    • monkey - Embed SpiderMonkey, the Mozilla JavaScript engine, in your Go program.
    • go-v8 - V8 JavaScript engine bindings for Go
    • gomruby - mruby (mini Ruby) bindings for Go

    Web Applications

    • Digestw - A Web Application - Twitter's Timeline Digest
    • GoURLShortener - A frontend for the http://is.gd/ URL shortener
    • Hugo - A fast and flexible static site generator implemented in Go
    • Já Vai Tarde - Unfollows monitoring for Twitter
    • fourohfourfound - A fallback HTTP server that may redirect requests with runtime configurable redirections
    • goals-calendar - A web-based Seinfeld calendar implemented in Go
    • goblog - A static blog engine
    • gocrawl - A polite, slim and concurrent web crawler.
    • goflash - Flash player implementation in Go language
    • gogallery - simple web server with an emphasis on easily browsing images
    • goof - A simple http server to exchange files over http (upload/download)
    • gopages - A php-like web framework that allows embedding Go code in web pages
    • kurz.go - a url shortener based on web.go and redis
    • Monsti - Resource friendly flat file CMS for private and small business sites.
    • now.go - A simple HTTP-based to-do queue.
    • sf_server - a tiny send file server and client
    • webtf - Web app to graphical visualization of twitter timelines using the HTML5
    • rabbitmq-http - REST API for RabbitMQ

    Web Libraries

    Authentication

    • GOAuth - OAuth Consumer
    • goauth - A library for header-based OAuth over HTTP or HTTPS.
    • Go-OAuth - OAuth 1.0 client
    • OAuth Consumer - OAuth 1.0 consumer implementation
    • authcookie - Package authcookie implements creation and verification of signed authentication cookies.
    • totp - Time-Based One-Time Password Algorithm, specified in RFC 6238, works with Google Authenticator
    • dgoogauth - Go port of Google's Authenticator library for one-time passwords
    • go-http-auth - HTTP Basic and HTTP Digest authentication
    • httpauth - HTTP session (cookie) based authentication and authorization
    • httpauth-go - Package httpauth provides utilities to support HTTP authentication policies. Support for both the basic authentication scheme and the digest authentication scheme are provided.
    • oauth1a - OAuth 1.0 client library

    DOM handling

    • Cascadia - CSS selector library
    • GoQuery - jQuery-like DOM manipulation library, using Go's experimental HTML package.
    • html-query - A fluent and functional approach to querying HTML.
    • HTML Transform - A CSS selector based html scraping and transformation library

    Frameworks and Toolkits

    • Martini - Martini is a popular, lightweight, extensible package for writing modular web apps/services in Go
    • Beego - Beego is an open source version of the scalable, non-blocking web framework.
    • Go-Blog - Blog framework written in Go
    • Golanger - Golanger Web Framework is a lightweight framework for writing web applications in Go.
    • fcgi_client - Go fastcgi client with fcgi params support
    • Goldorak.Go - a web miniframework built using mustache.go, web.go and Go-Redis
    • Gongo Web - Web framework with separate data modeling, control and visualization
    • GoRest - An extensive configuration(tags) based RESTful style web-services framework.
    • HttpRouter - A high performance HTTP request router that scales well
    • Revel - High productivity web framework modeled on Play! Framework
    • Tideland CGL Web - Package for RESTful web applications
    • app.go - Web framework for google app engine
    • browserspeak - Generate HTML templates, CSS or SVG without writing < or >
    • falcore - Modular HTTP server framework
    • go-fastweb - aims to be a simple, small and clean MVC framework for go
    • go-rest - A small and evil REST framework for Go
    • go-restful - lean package for building REST-style Web Services
    • go-start - A high level web-framework for Go
    • go-urlshortener - interface to google's urlshorten API
    • go-webproject - Modular web application framework and app server
    • goku - a Web Mvc Framework for golang, mostly like ASP.NET MVC.
    • golanger - Golanger Web Framework is a lightweight framework for writing web applications in Go
    • gorilla - Gorilla web toolkit
    • goweb - Lightweight RESTful web framework for Go providing Ruby on Rails style routing
    • Gowut - Go Web UI Toolkit is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go.
    • mango - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
    • restclient - Client library for interacting with RESTful APIs.
    • sawsij - Provides a small, opinionated web framework.
    • trinity - MVC framework
    • Tiger Tonic - framework for building JSON web services inspired by Dropwizard
    • web.go - a simple framework to write webapps
    • wfdr - Simple web framework designed for and written in go. Works with other lanauges as well, but not as well.
    • GEP - A simple web framework similar to JSP. Writing dynamic pages knowing only Go and HTML(or Markdown)
    • xweb - A web framework for Go. Just like Struts for Java.
    • forgery - A clone of the superb Node.js web framework Express.

    HTML forms

    • gforms - HTML forms for Golang
    • GoForms - Form data validation, cleaning and error reporting - a la django.forms
    • htmlfiller - Fills in html forms with default values and errors a la Ian Bicking's htmlfill for Python
    • MonstiForm - HTML form generator and validator library
    • xsrftoken - A package for generating and validating tokens used in preventing XSRF attacks
    • revel-csrf - Cross-Site Request Forgery (CSRF) attacks prevention for the Revel framework

    Public API Wrappers

    • adn - Interface to the App.net API
    • anaconda - Client library for the Twitter 1.1 API
    • clouddns.go - Go library for the Rackspace Cloud DNS API
    • ddg - DuckDuckGo API interface
    • gobo - Client library for Sina Weibo.
    • gocaptcha - gocaptcha provides easy access to the reCaptcha API in go.
    • go-dealmap - Go library for accessing TheDealMap's API
    • go-dropbox - API library for dropbox
    • facebook - Up-to-date facebook graph API client. Handy and flexible.
    • go-facebook - Go implementations of facebook APIs.
    • go-flickr - A wrapper for Flickr's API
    • go-gravatar - Wrapper for the Gravatar API
    • go-libGeoIP - GO Lib GeoIP API for Maxmind
    • gomojo - Instamojo API wrapper
    • gomwapi - Access mediawiki contents like wikipedia, wiktionary in golang
    • googtrans - unofficial go bindings for Google Translate API v2
    • go-recaptcha - Handles reCaptcha form submissions in Go
    • gorecurly - A Client app to use with Recurly's api
    • go.stripe - a simple credit card processing library for Go using the Stripe API
    • Gotank - Searchify's Go client for the IndexTank full-text search API
    • go-tripit - Go API library for the TripIt web services
    • GoTwilio - Twilio library for Go (golang). Very basic at the moment.
    • gravatar - Gravatar image/profile API library
    • justintv - Justin.tv REST API with oauth
    • postmark - Access postmark API from Go
    • reddit.go - Client library for Reddit API
    • shorturl - Generic implementation for interacting with various URL shortening services.
    • Stack on Go - Go wrapper for Stack Exchange API
    • twilio - Simple Twilio API wrapper
    • twittergo - Client library for Twitter's API

    Other

    • adhoc-http - Quick & dirty HTTP static file server
    • assets - Helps prepares CSS and JS files for development and production of Go web apps.
    • bwl - a set of libraries to help build web sites
    • captcha - Image and audio captcha generator and server
    • gaerecords - Lightweight wrapper around appengine/datastore providing Active Record and DBO style management of data
    • get2ch-go - a library to access the 2channel Japanese web bulletin board
    • go-gzip-file-server - A net.http.Handler similar to FileServer that serves gzipped content
    • go-httpclient - a Go HTTP client with timeouts
    • go-pkg-rss - a packages that reads RSS and Atom feeds
    • go-rss - Simple RSS parser, tested with Wordpress feeds.
    • go-twitter - another Twitter client
    • go-twitter-oauth - a simple Twitter client (supports OAuth)
    • gohaml - An implementation of the popular XHTML Abstraction Markup Language using the Go language.
    • gojwt - Json Web Tokens for Go
    • goreman - foreman clone
    • goroute - A very simple URL router based on named submatches of regular expression that works well with http.Handler .
    • gorouter - Simple router for go to process url variables
    • goscribble - An MPD Audioscrobble
    • GoSrv - A Go HTTP server that provides simple command line functionality, config loading, request logging, graceful connection shutdown, and daemonization.
    • grender - Go static site generator
    • halgo - HAL-compliant API client and serialisation library.
    • http-gonsole - Speak HTTP like a local. (the simple, intuitive HTTP console, golang version)
    • httprpc - HTTP RPC codecs (json2, soap, rest)
    • HypeCMS - A flexible CMS built with Go and MongoDb.
    • Kontl - A client for kon.tl's URL shortening service
    • mustache.go - an implementation of the Mustache template language
    • muxer - Simple muxer for a Go app without regexp
    • Optimus Sitemap Generator - A universal XML sitemap generator
    • passwordreset - Creation and verification of secure tokens useful for implementation of "reset forgotten password" feature in web applications.
    • pat - A Sinatra style pattern muxer
    • persona - remote verification API for persona
    • plex - simple, small, light, regexp http muxer with chaining
    • purell - tiny Go library to normalize URLs
    • pusher.go - HTTP Server Push module for the standard http package
    • rest.go (forked) - forked rest.go for improvements and REST consistency
    • rest2go - Based on rest.go, forked for improvements and REST consistency
    • robotstxt - The robots.txt exclusion protocol implementation. Allows to parse and query robots.txt file.
    • RSS-Go - RSS and ATOM feed reader package for the Go programming language.
    • seshcookie - A web session library inspired by Beaker
    • user_agent - An HTTP User-Agent parser
    • webdriver - WebDriver (Selenium) client
    • webtestutil - Web and HTTP functional testing utilities. Includes Gorilla testing support.
    • gorefit - A library for theming existing websites

    Windows

    • Windows Command Line Shutdow - A tool to shutdown Windows Computer from Command Prompt
    • gform - An easy to use Windows GUI toolkit for Go
    • go-Windows-begin - for the absolute Windows-Go beginner
    • go-ole - win32 ole implementation for golang
    • w32 - Windows API wrapper for Go.
    • walk - "Windows Application Library Kit" for the Go Programming Language

    Unix

    • unixsums - Legacy Unix checksums: cksum, sum

    Unsorted; please help!

    The following entries have not been filed. Please help by putting these in relevant categories.

    • Twackup - Backs up your tweets into local files
    • domainerator - Command line tool to combine wordlist and suffixes/TLDs into domain names and check if they are registered or not
    • ebml-go - EBML decoder
    • gmail2go - Simple gmail multiple accounts cli mail checker
    • go-bindata - Converts any file into manageable Go source code for embedding binary data into a Go program.
    • go-cron - A small cron job system to handle scheduled tasks, such as optimizing databases or kicking idle users from chat. The cron.go project was renamed to this for go get compatibility.
    • go-gmetric - Ganglia gmetric protocol support
    • go-nat-pmp - A client for the NAT-PMP protocol used in Apple and open-source routers
    • go-osx-xattr - Package xattr wraps OS X functions to manipulate the extended attributes of a file, directory and symbolic link.
    • go-webfinger - Simple Client Implementation of WebFinger
    • go.psl - Go regdom-libs/public suffix list
    • goconsistenthash - Consistent hashing library (based on http://www.lexemetech.com/2007/11/consistent-hashing.html)
    • godebiancontrol - Golang debian control file parser
    • gographviz - Graphviz DOT language parser for golang
    • golor - golor is a command line tool for golang source code coloring
    • golsys - A library for building an evaluating Lindenmayer systems.
    • gopcapreader - Presents realtime pcap data as io.Reader objects
    • gostax - A Streaming API for XML (StAX) in go
    • httptail - tools push stdout/stderr to http chunked
    • humanize - formats large numbers into human readable small numbers
    • humanize-bytes - Command-line utilities to convert "MiB" etc to raw numbers, and back
    • img-LinuxFr.org - A reverse-proxy cache for external images used on LinuxFr.org
    • netstat-nat - Display NAT entries on Linux systems
    • seed - Easily seed PRNGs with some entropy
    • spellabc - Package spellabc implements spelling alphabet code word encoding.
    • stressdisk - Stress test your disks / memory cards / USB sticks before trusting your valuable data to them
    • strftime - strftime implementation
    • validation - Simple independent struct/key-value validation
  • 相关阅读:
    CDOJ 92 – Journey 【LCA】
    LCA-Tarjan算法
    【模板】无向图的割顶
    Codeforces 190E
    TwoSAT算法模板
    【转】STL之二分查找 (Binary search in STL)
    【转】数论模板
    【转】计算几何模板
    【转】string常用函数
    Codeforces 245G Suggested Friends
  • 原文地址:https://www.cnblogs.com/chu888chu888/p/4293711.html
Copyright © 2011-2022 走看看