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
有话要说