Introduction
Introduction: Modules, Packages, and Imports
- Repositories Modules and Packages
- gomod
- Creating and accessing a package
- Imports and exports
- Golang commands
- Compiling and installing the application
- Developing and Publishing modules workflow
- Module version numbering
- Publishing a module
- Package comments and godoc
- Package name collision
- Naming packages
Core packages
- Core Packages Intro
- Strings
- InputOutput
- File Handling
- Errors
- Logging
- Sort
- Hashes and cryptography
- Testing
API Development Project
- Web Server and API
- Creating an API server
- HTTP verbs
- REST Architecture
- Project Explanation
- Mux Router
- MySQL Package
- Demo Project Setup
- Demo 1 Get method
- Demo 2 Get method
- Demo Post method
- Demo Put method
- Demo Delete method
- Testing API
- Test Get Product
- Test Post Product
- Test Delete Product
- Test Update Product
CI/CD pipeline
Concurrency
- Sequential vs Concurrent Processing
- Go routines
- Sequential program
- Go routines program
- Main Go routine
- Anonymous Go routine
- Go runtime scheduler
- WaitGroups
- WaitGroup Examples
- Channels Introduction
- Channels Reading and Writing
- Buffered Channels
- Channels Closing a channel
- Panic Situations
- Channels for range
- Select Statement
- Concurrency practices Cleaning up Go routines
- Concurrency practices Spawning Go routine closures in a loop
- Concurrency Practices Buffered and Unbuffered Channels
- Concurrency practices Time out code