Skydiving Golang
Golang workshop to share with colleague
Agenda
- Basic ex. Variable, control flows, function, defer
- Pointer, Address, method and copy by value
- Package and Module,
- init function,
- constructor
- Optional function https://charlesxu.io/go-opts/
- Construct option for params
- Error handling
- panic, recover, defer
- Testing
- benchmarking
- profiling
- Mocking w/ testify lib
- Thing left to be cover
- Context
- Channel and go-routine
- Etc.
Directory and Learning Path
Please try to follow thru this order
/basic - as the name suggest
/car - pointer and address (pass by value, pass by ref)
/module - package and module (class, constructor, optional function)
/panicking - one of the way to handle error in golang (try-catch like)
/panicking2 - one of the use case of the panic
/benchmark - simple example of how to do benchmark and profiling in golang
/testing - unit test w/ mocking example