# go-organization
Understand project structure of GO. Go Modules, GOPATH, efficent development environment... This repo contains lots of trash folder/file! Just trying to understand structure with trying lots of unnecessary things too
### Base Resources
| Resource | Explanation | Situation |
| -------- | ----------- | -------------- |
| https://www.digitalocean.com/community/tutorials/how-to-use-go-modules | 👉 Modules - How to use them | [module-str](simple-structrue/module-str/mymodule/) ✔️ |
| https://www.digitalocean.com/community/tutorials/how-to-write-packages-in-go | 👉 Packages - How to use them | [package-str](simple-structure/package-str/) ✔️ |
| https://github.com/golang-standards/project-layout | ⭐ Unoffical but ready-to-use go project structure | ✅ |
| https://github.com/golang/go/wiki/Modules | ⭐ Up-to-date Explanation/Example of go Modules | 📚 |
| https://go.dev/blog/using-go-modules | Working with modules, versions and dependencies | ✔️ |
| https://go.dev/doc/code | General overview for writing code in go | ✔️ |
| https://tutorialedge.net/golang/go-project-structure-best-practices/ | a blog about go structure | ✔️ |
| https://go.dev/ref/mod | Modules Reference | 📚 |
emoji
⭐ Very useful, use actively
📚 Up to date and very detailed explanations
✔️ Done, has been read
✅ Use actively, ready-to-use
👉 Start from here, step-by-step explanation
### FAQ
Is there any venv equal for Go language or any virtual environment tool?
- No, previously GOPATH was used but now Go Modules are using instead of that. Thanks to Go Modules, go.mod file handles all versions/modules/packages and there is no need for a virtual environment. But if you have to use a virtual environment because of another reason just have a look at this repo