Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/broady/go-patterns
https://github.com/broady/go-patterns
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/broady/go-patterns
- Owner: broady
- License: mit
- Created: 2015-08-26T00:17:58.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-08-26T00:18:03.000Z (about 9 years ago)
- Last Synced: 2024-04-16T11:51:54.179Z (7 months ago)
- Size: 101 KB
- Stars: 0
- Watchers: 2
- Forks: 41
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.