https://github.com/huangsam/go-trial
Master Golang now! 🔥
https://github.com/huangsam/go-trial
docker echo golang golangci-lint koanf learn-to-code mockery testify urfave-cli zerolog
Last synced: about 2 months ago
JSON representation
Master Golang now! 🔥
- Host: GitHub
- URL: https://github.com/huangsam/go-trial
- Owner: huangsam
- License: mit
- Created: 2024-11-23T20:40:26.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-03-26T01:24:10.000Z (about 2 months ago)
- Last Synced: 2025-03-26T02:26:49.233Z (about 2 months ago)
- Topics: docker, echo, golang, golangci-lint, koanf, learn-to-code, mockery, testify, urfave-cli, zerolog
- Language: Go
- Homepage:
- Size: 1000 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go Trial
[](https://github.com/huangsam/go-trial/actions)
[](https://github.com/huangsam/go-trial/blob/main/LICENSE)Curated learning designed for Software Engineers proficient in [Python] / [Java] / [C++]
and need to quickly ramp up their Go skills for work.> The best time to start was yesterday. The second best time is now.
There's no better time to master Golang than now! 🔥
## Getting started
Here are the commands you need to know:
```shell
# Setup tools
bash scripts/setup.sh# Run build
bash scripts/build.sh# Run tests
bash scripts/test.sh# Run linters
bash scripts/lint.sh
```To learn more, please consult the [user guide](USERGUIDE.md).
## Learning path
This learning path is designed to take you from Go beginner to proficient
in a matter of weeks. Each section contains practical examples to read
and experiment with.### Core concepts
- [Functions, structs, pointers](pkg/basicintro/)
- [Common data structures](pkg/datastructure/)
- [Goroutines, channels, synchronization](pkg/concurrency/)
- [Interfaces, generics, mocking](pkg/abstraction/)### Practical concepts
- [Files, I/O, time](pkg/realworld/)
- [HTTP endpoints](pkg/endpoint/)### Apply your knowledge!
Ready to showcase your Go skills? Dive into a side project and create something amazing!
Check out [Namigo](https://github.com/huangsam/namigo) for inspiration. 🚀## Useful resources
### GitHub projects
- [avelino/awesome-go](https://github.com/avelino/awesome-go): Awesome Go frameworks, libraries, software.
- [golang-standards/project-layout](https://github.com/golang-standards/project-layout): Standard Go project layout.### Online tutorials
- [A Tour of Go](https://go.dev/tour/list): An interactive tour of Go.
- [Go by Example](https://gobyexample.com): Annotated programs in Go.### Blog posts
- [Organizing Go code](https://go.dev/blog/organizing-go-code): General codebase conventions.
- [Package names](https://go.dev/blog/package-names): Package naming conventions.
- [Go Concurrency Patterns: Pipelines and cancellation](https://go.dev/blog/pipelines): Pipelines with multiple stages.
- [Go Concurrency Patterns: Context](https://go.dev/blog/context): Context for downstream logic.
- [Structured Logging with slog](https://go.dev/blog/slog): Structured logging using slog.
- [4 Mocking Approaches for Go](https://www.twilio.com/en-us/blog/4-mocking-approaches-go): Different mocking techniques.
- [Proper HTTP shutdown in Go](https://dev.to/mokiat/proper-http-shutdown-in-go-3fji): Graceful HTTP shutdown.[Python]: https://github.com/huangsam/ultimate-python
[Java]: https://github.com/huangsam/java-trial
[C++]: https://github.com/huangsam/cpp-trial