- hw* are the folder for voluntary homework, can write the project under hw*/ and send merge request for peer review.
For very new beginners, please run the following resources first:
- https://github.com/0voice/Introduction-to-Golang
- https://github.com/avelino/awesome-go
- https://github.com/golang-standards/project-layout
- https://www.processon.com/view/link/5a9ba4c8e4b0a9d22eb3bdf0#map
- Env setup
- DEV env setup (VSCode + linter + tools)
- go test
- go mod
- tips
- golang coding convention
- golang package template
- go example on go routines, channels
- library exported concept
- common libraries
- go context
- go unit test
- go benchmark
- go debug
- go profiling
- go error
- gin
- log
- kafka
- go grpc
- create a gin api server with middleware.
- extension: using any mongodb driver to create a CRUD api
- split package from simple main.go, standardlize golang project layout
- try
go mod
- try
context
timeout and using in a gin timeout api.- create a handler sleep 30 seconds, but return timeout error response in 15 seconds.