Go Patterns
This repository acts as a list of demos for desirable design patterns in the Go language. Click the pattern name below to go to each example.
Pattern | Description |
---|---|
Callback | Passing functions as parameters to other functions. |
Context | Cancelling execution across module boundaries. |
Dependency injection | Providing dependencies of code as a parameter. |
Embedding | Embedding static files into the Go binary. |
Errors | Handling typed errors in Go. |
Limited queue | Creating queues with limited parallel execution. |
Multi-wait | Creating a signal multiple components can wait for in parallel. |
OOP | Object-oriented programming in Go. |
Retries | Retrying a failed action in Go. |
Safe | Making sure panics don't crash the program. |
License
This repository is licensed under the MIT-0 license. You are welcome to take it and use it in your own coding standards with no attribution required.
Contributing
Contributions to this repository are welcome! Please be prepared to submit your code under the MIT-0 license.
When writing the code please keep in mind that this repository is meant as a helper for beginners. Examples should be simplified and commented ubiquitously.