awesome-go
一个专门收集GO语言相关的工具库
https://github.com/ly2513/awesome-go
Last synced: 17 days ago
JSON representation
Benchmarks
Other Software
- autobench - Framework to compare the performance between different Go versions.
- go-benchmark-app - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
- go-benchmarks - Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
- go-http-routing-benchmark - Go HTTP request router benchmark and comparison.
- go-web-framework-benchmark - Go web framework benchmark.
- go_serialization_benchmarks - Benchmarks of Go serialization methods.
- golang-micro-benchmarks - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others.
- golang-sql-benchmark - Collection of benchmarks for popular Go database/SQL utilities.
- gospeed - Go micro-benchmarks for calculating the speed of language constructs.
- kvbench - Key/Value database benchmark.
- skynet - Skynet 1M threads microbenchmark.
- speedtest-resize - Compare various Image resize algorithms for the Go language.
- gocostmodel - Benchmarks of common basic operations for the Go language.
- go-type-assertion-benchmark - Naive performance test of two ways to do type assertion in Go.
Code Analysis
Routers
- GoCover.io - GoCover.io offers the code coverage of any golang package as a service.
- Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
- goreturns - Adds zero-value return statements to match the func return types.
- gosimple - gosimple is a linter for Go source code that specialises on simplifying code.
-
staticcheck
- staticcheck is
go veton steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. - unused - unused checks Go code for unused constants, variables, functions and types.
- apicompat - Checks recent changes to a Go project for backwards incompatible changes.
- dupl - Tool for code clone detection.
- errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
- gcvis - Visualise Go program GC trace data in real time.
- Go Metalinter - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
- go-checkstyle - checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments.
- go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
- go-outdated - Console application that displays outdated packages.
- goast-viewer - Web based Golang AST visualizer.
- GoLint - Golint is a linter for Go source code.
- gostatus - Command line tool, shows the status of repositories that contain Go packages.
- interfacer - Linter that suggests interface types.
- lint - Run linters as part of go test.
- unconvert - Remove unnecessary type conversions from Go source.
- validate - Automatically validates struct fields with tags.
- tarp - tarp finds functions and methods without direct unit tests in Go source code.
- goimports - Tool to fix (add, remove) your Go imports automatically.
Conferences
Other Software
- Capital Go - Washington, D.C., USA
- GopherChina - Shanghai, China
- GopherCon Dubai - Dubai, UAE
- GopherCon India - Pune, India
- dotGo - Paris, France
- GopherCon Brazil - Florianópolis, BR
- GopherCon - Denver, USA
- GolangUK - London, UK
E-Books
Other Software
Editor Plugins
Routers
- Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs.
- go-mode - Go mode for GNU/Emacs.
- go-plus - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
- Goclipse - Eclipse plugin for Go.
- gocode - Autocompletion daemon for the Go programming language.
- GoSublime - Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features.
- velour - IRC client for the acme editor.
- vim-compiler-go - Vim plugin to highlight syntax errors on save.
- vim-go - Go development plugin for Vim.
- vscode-go - Extension for Visual Studio Code (VS Code) which provides support for the Go language.
- Watch - Runs a command in an acme win on file changes.
Go Generate Tools
Routers
Go Tools
Routers
- gb - An easy to use project based build tool for the Go programming language.
-
colorgo
- Wrapper around
gocommand for colorizedgo buildoutput. - depth - Visualize dependency trees of any package by analyzing imports.
- go-pkg-complete - Bash completion for go and wgo.
- go-swagger - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
- OctoLinker - Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
-
richgo
- Enrich
go testoutputs with text decorations. - rts - RTS: response to struct. Generates Go structs from server responses.
- go-callvis - Visualize call graph of your Go program using dot format.
Meetups
Other Software
- Go Language NYC
- Go Toronto
- GoBridge, San Francisco, CA
- Golang Amsterdam
- Golang Belo Horizonte - Brazil
- Golang Boston
- Golang Melbourne
- Golang New York
- Golang Singapore
- Golang São Paulo - Brazil
- Golang Vancouver, BC
- Seattle Go Programmers
- Ukrainian Golang User Groups
- Utah Go User Group
- Women Who Go - San Francisco, CA
- Golang Paris
- Golang DC, Arlington, VA
- Golang Lima - Peru
Software Packages
DevOps Tools
- Banshee - Anomalies detection system for periodic metrics.
- Gogs - A Self Hosted Git Service in the Go Programming Language.
- Wide - Web-based IDE for Teams using Golang.
- aurora - Cross-platform web-based Beanstalkd queue server console.
- awsenv - Small binary that loads Amazon (AWS) environment variables for a profile.
- bombardier - Fast cross-platform HTTP benchmarking tool.
- bosun - Time Series Alerting Framework.
- dogo - Monitoring changes in the source file and automatically compile and run (restart).
- drone-jenkins - Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
- drone-scp - Copy files and artifacts via SSH using a binary, docker or Drone CI.
- Dropship - Tool for deploying code via cdn.
-
easyssh-proxy
- Golang package for easy remote execution through SSH and SCP downloading via
ProxyCommand. - Gitea - Fork of Gogs, entirely community driven.
- Go Metrics - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics.
- go-selfupdate - Enable your Go applications to self update.
- gobrew - gobrew lets you easily switch between multiple versions of go.
- godbg - Web-based gdb front-end application.
- gonative - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
- gox - Dead simple, no frills Go cross compile tool.
- goxc - build tool for Go, with a focus on cross-compiling and packaging.
- grapes - Lightweight tool designed to distribute commands over ssh with ease.
- GVM - GVM provides an interface to manage Go versions.
- Hey - Hey is a tiny program that sends some load to a web application.
- kala - Simplistic, modern, and performant job scheduler.
- kubernetes - Container Cluster Manager from Google.
- manssh - manssh is a command line tool for managing your ssh alias config easily.
- Moby - Collaborative project for the container ecosystem to assemble container-based systems.
- Mora - REST server for accessing MongoDB documents and meta data.
- ostent - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
- Packer - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
- Pewpew - Flexible HTTP command line stress tester.
- Rodent - Rodent helps you manage Go versions, projects and track dependencies.
- s3gof3r - Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
- Scaleway-cli - Manage BareMetal Servers from Command Line (as easily as with Docker).
- sg - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response.
- skm - SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
- StatusOK - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
- Vegeta - HTTP load testing tool and library. It's over 9000!
- webhook - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
- winrm-cli - Cli tool to remotely execute commands on Windows machines.
- aptly - aptly is a Debian repository management tool.
- govvv - “go build” wrapper to easily add version information into Go binaries.
Other Software
- limetext - Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
- syncthing - Open, decentralized file synchronization tool and protocol.
- tsuru - Extensible and open source Platform as a Service software.
- boxed - Dropbox based blog engine.
- Cherry - Tiny webchat server in Go.
- Circuit - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
- Comcast - Simulate bad network connections.
- confd - Manage local application configuration files using templates and data from etcd or consul.
- DDNS - Personal DDNS client with Digital Ocean Networking DNS as backend.
- Documize - Modern wiki software that integrates data from SaaS tools.
- fleet - Distributed init System.
- Go Package Store - App that displays updates for the Go packages in your GOPATH.
- gocc - Gocc is a compiler kit for Go written in Go.
- GoDNS - A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
- GoDocTooltip - Chrome extension for Go Doc sites, which shows function description as tooltip at funciton list.
- ide - Browser accessible IDE. Designed for Go with Go.
- ipe - Open source Pusher server implementation compatible with Pusher client libraries written in GO.
- JayDiff - JSON diff utility written in Go.
- Leaps - Pair programming service using Operational Transforms.
- LiteIDE - LiteIDE is a simple, open source, cross-platform Go IDE.
- mockingjay - Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
- myLG - Command Line Network Diagnostic tool written in Go.
- naclpipe - Simple NaCL EC25519 based crypto pipe tool written in Go.
- nes - Nintendo Entertainment System (NES) emulator written in Go.
- Orbit - A simple tool for running commands and generating files from templates.
- peg - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
- Postman - Command-line utility for batch-sending email.
- restic - De-duplicating backup program.
- rkt - App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
- Seaweed File System - Fast, Simple and Scalable Distributed File System with O(1) disk seek.
- shell2http - Executing shell commands via http server (for prototyping or remote control).
- snap - Powerful telemetry framework.
- Snitch - Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
- Stack Up - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
- Tenyks - Service oriented IRC bot using Redis and JSON for messaging.
- toto - Simple proxy server written in Go language, can be used together with browser.
- toxiproxy - Proxy to simulate network and system conditions for automated tests.
- wellington - Sass project management tool, extends the language with sprite functions (like Compass).
- Juju - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
- vFlow - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
- Gor - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
- orange-cat - Markdown previewer written in Go.
- websysd - Web based process manager (like Marathon or Upstart).
- borg - Terminal based search engine for bash snippets.
- Docker - Open platform for distributed applications for developers and sysadmins.
<span id="css预处理器-css-preprocessors">CSS预处理器 CSS Preprocessors</span>
<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>
- c6 - 用Go编写的高性能SASS兼容实现编译器。
- gcss - Pure Go CSS预处理器。
- go-libsass - 打包到100%Sass兼容的libsass项目。
<span id="go编译器-go-compilers">GO编译器 Go Compilers</span>
<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>
<span id="gui">GUI</span>
<span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>
- app - 使用GO,HTML和CSS创建应用程序的包。支持:MacOS,Windows正在进行。
- go-astilectron - 使用GO和HTML / JS / CSS(由Electron提供支持)构建跨平台GUI应用程序。
- go-gtk - Go bindings for GTK.
- go-qml - Go语言的QML支持。
- go-sciter - Go bindings for Sciter: the Embeddable HTML / CSS / script engine for modern desktop UI development. Cross platform.
- goqt - Golang绑定到Qt跨平台应用程序框架。
- gotk3 - Go bindings for GTK3.
- gowd - 使用GO,HTML,CSS和NW.js进行快速简单的桌面用户界面开发 跨平台。
- qt - Go的Qt绑定(支持Windows / macOS / Linux / Android / iOS / Sailfish OS/Raspberry Pi)。
- ui - 用于Go的平台本地GUI库。跨平台。
- walk - Windows的应用程序库工具包。