coop - Cheat sheet for some of the common concurrent flows in Go

  •        19

Note: This package became obsolete. I started it when I was learning Go a couple of years ago. I see so many better ways to implement them all now, so don't keep using this package as an ultimate reference.coop contains some of the most common concurrent program flows I personally use in Go. I'm suggesting you to use this package as a snippets reference/cheat sheet instead of a library. The functionally provided in this package can be obtained in many different ways, and frankly with more performant implementations depending on the type of your problem.

https://github.com/rakyll/coop

Tags
Implementation
License
Platform

   




Related Projects

gom - A visual interface to work with runtime profiling data for Go

  •    Go

A visual interface to work with runtime profiling data from Go programs.The program you're willing to profile should import the github.com/rakyll/gom/http package. The http package will register several handlers to provide information about your program during runtime.

asciigraph - Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies

  •    Go

Go package to make lightweight ASCII line graphs ╭┈╯. This package also brings a small utility for command line usage. Assuming $GOPATH/bin is in your $PATH, simply go get it then install CLI.

hey - HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom

  •    Go

hey is a tiny program that sends some load to a web application.hey was originally called boom and was influenced from Tarek Ziade's tool at tarekziade/boom. Using the same name was a mistake as it resulted in cases where binary name conflicts created confusion. To preserve the name for its original owner, we renamed this project to hey.

xlsx - Google Go (golang) library for reading and writing XLSX files

  •    Go

xlsx is a library to simplify reading and writing the XML format used by recent version of Microsoft Excel in Go programs.The full API docs can be viewed using go’s built in documentation tool, or online at godoc.org.

hystrix-go - Netflix's Hystrix latency and fault tolerance library, for Go

  •    Go

Hystrix is a great project from Netflix.Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.


excelize - Golang library for reading and writing Microsoft Excel™ (XLSX) files.

  •    Go

Excelize is a library written in pure Golang and providing a set of functions that allow you to write to and read from XLSX files. Support reads and writes XLSX file generated by Microsoft Excel™ 2007 and later. Support save file without losing original charts of XLSX. This library needs Go version 1.8 or later. The full API docs can be seen using go's built-in documentation tool, or online at godoc.org.Here is a minimal example usage that will create XLSX file.

go-funk - A modern Go utility library which provides helpers (map, find, contains, filter, ...)

  •    Go

go-funk is a modern Go library based on reflect.Generic helpers rely on reflect, be careful this code runs exclusively on runtime so you must have a good test suite.

pie - 🍕 Enjoy a slice! A utility library for dealing with slices and maps that focuses on type safety and performance

  •    Go

Enjoy a slice! pie is a code generator for dealing with slices that focuses on type safety, performance and immutability. Run go generate. This will create a file called cars_pie.go. You should commit this with the rest of your code. Run go generate any time you need to add more types.

gorequest - GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent )

  •    Go

See Go Doc or Go Walker for usage and details.GoRequest makes thing much more simple for you, making http client more awesome and fun like SuperAgent + golang style usage.

grequests - A Go "clone" of the great and famous Requests library

  •    Go

When passing parameters to be added to a URL, if the URL has existing parameters that contradict with what has been passed within Params – Params will be the "source of authority" and overwrite the contradicting URL parameter.Lets see how it works...

spinner - Go (golang) package for providing a terminal spinner/progress indicator with options.

  •    Go

spinner is a simple package to add a spinner / progress indicator to any terminal application. Examples can be found below as well as full examples in the examples directory.For more detail about the library and its features, reference your local godoc once installed.

htcat - Parallel and Pipelined HTTP GET Utility

  •    Go

This is on a gigabit network, between an AWS EC2 instance and S3. This represents 91% use of the theoretical maximum of gigabit (119.2 MiB/s).For correspondence of all sorts, write to htcat@googlegroups.com. Bugs can be filed at htcat's GitHub Issues page.

gtm - Simple, seamless, lightweight time tracking for Git

  •    Go

GTM is automatic, seamless and lightweight. There is no need to remember to start and stop timers. It runs on occasion to capture activity triggered by your editor. The time metrics are stored locally with the git repository as Git notes and can be pushed to the remote repository.Simply install a plugin for your favorite editor and the GTM command line utility to start tracking your time now.

go-underscore - Helpfully Functional Go - A useful collection of Go utilities

  •    Go

A useful collection of Go utilities. Designed for programmer happiness.This package is in heavy flux at the moment as I work to incorporate feedback from various sources.

sqlx - general purpose extensions to golang's database/sql

  •    Go

sqlx is a library which provides a set of extensions on go's standard database/sql library. The sqlx versions of sql.DB, sql.TX, sql.Stmt, et al. all leave the underlying interfaces untouched, so that their interfaces are a superset on the standard ones. This makes it relatively painless to integrate existing codebases using database/sql with sqlx.In addition to the godoc API documentation, there is also some standard documentation that explains how to use database/sql along with sqlx.

goreleaser - Deliver Go binaries as fast and easily as possible

  •    Go

Deliver Go binaries as fast and easily as possible.GoReleaser builds Go binaries for several platforms, creates a GitHub release and then pushes a Homebrew formula to a tap repository. All that wrapped in your favorite CI.

gojson - Automatically generate Go (golang) struct definitions from example JSON

  •    Go

gojson generates go struct definitions from json or yaml documents.Assuming $GOPATH/bin is in your PATH, you can now invoke gojson directly.

gron - gron, Cron Jobs in Go.

  •    Go

Gron provides a clear syntax for writing and deploying cron jobs.All scheduling is done in the machine's local time zone (as provided by the Go time package).

circuitbreaker - Circuit Breakers in Go

  •    Go

Circuitbreaker provides an easy way to use the Circuit Breaker pattern in a Go program.Circuit breakers are typically used when your program makes remote calls. Remote calls can often hang for a while before they time out. If your application makes a lot of these requests, many resources can be tied up waiting for these time outs to occur. A circuit breaker wraps these remote calls and will trip after a defined amount of failures or time outs occur. When a circuit breaker is tripped any future calls will avoid making the remote call and return an error to the caller. In the meantime, the circuit breaker will periodically allow some calls to be tried again and will close the circuit if those are successful.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.