Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/broady/go-patterns


https://github.com/broady/go-patterns

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

        

# Go Examples of Common Patterns

This is a collection of common design patterns translated into Go.
The goal of this repository is to help programmers coming from other
language communities understand how their favorite patterns can be reused
in Go.

We do not intended to be restrict this to the traditional
[GoF Design Patterns](https://en.wikipedia.org/wiki/Design_Patterns). We hope
to include any language idiom you'd like to see re-implemented in more
idiomatic Go. Suggestions are welcomed. If there is a pattern you'd
like to see or contribute, please file an
[issue](https://github.com/jbuberel/go-patterns/issues).

This material was originally authored by
[Ryanne Dolan](https://github.com/ryannedolan), copied here with permission.

## Concurrency

* [Coroutines](concurrency/coroutines.md)
* [Futures](concurrency/futures.md)
* [Generators](concurrency/generators.md)
* [Parallel For Loop](concurrency/parallel-for-loop.md)
* [Producer Consumer](concurrency/producer-consumer.md)
* [Semaphores](concurrency/semaphores.md)

## Functional

## Object-Oriented

* [Classes](oo/classes.md)
* [Constructors](oo/constructors.md)
* [Iterators](oo/iterators.md)
* [Operators](oo/operators.md)
* [Singleton](oo/singleton.md)

## Packages

## Web Services

* [Long-Poll Server](web/long-poll.md)

# Contributions

We are actively seeking contributors to improve the existing examples and
to provide new ones. If you have an idea for a change, open an [issue](https://github.com/jbuberel/go-patterns/issues) to
discuss, then send a pull request when the change is ready.