Go语言(golang)开源项目大全-2

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. Likehttp://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

有话要说