GO-PROG: Go Programming
SBL-Khas Scheme Registered
Registered employers can fully claim the course fee and allowanced through the HRD Corp portal.
Course Description
Course Outline
Go Philosophy: Understanding compilation speed, static typing, and the runtime.Local Setup: Installing the Go toolchain on Windows, macOS, or Linux.IDE Integration: Configuring VS Code or GoLand with official extensions.Go Workspace: Navigating go env, paths, and compiling binaries via go build.First Program: Dissecting package main, import "fmt", and the main() entry function
Variables & Constants: Syntax forms, type inference, explicit type declarations, and iota.Basic Types: Working with integers, floats, booleans, strings, and byte/rune types.Zero Values: Explicitly managing default uninitialized states in Go.Control Flow: Writing conditions (if/else, switch) and Go's singular looping construct (for).Functions: Declaring inputs, returning multiple values, and writing variadic functions.Deferred Code: Utilizing defer statement blocks for safe resource cleanup
Pointers: Memory addresses, dereferencing, and value vs. reference mechanics.Arrays: Fixed-length continuous memory blocks and allocation limitations.Slices: Dynamically resized views into arrays, leveraging append, copy, and slicing.Maps: Unordered key-value hash collections, creation, lookups, and deletion.Structs: Creating user-defined compound types to encapsulate related data fields
Methods: Attaching behavior to structs via value or pointer receivers.Composition: Embedding structs inside other structs instead of traditional class inheritance.Interfaces: Implicit implementation, duck typing, and building decoupled systems.Type Assertions: Extracting concrete types from empty interfaces (interface{} or any)
Error Handling: Navigating idiomatic explicit checks (if err != nil) instead of try/catch blocks.Panic & Recover: Triggering runtime failures and implementing crash recovery wrappers.Go Modules: Initializing dependencies with go mod init and tracking versions via go.mod.Visibility Rules: Mastering capitalized (exported) vs. lowercase (unexported) identifiers
Goroutines: Spawning lightweight execution threads asynchronously using the go keyword.Channels: Communicating safely between goroutines using buffered and unbuffered pipelines.Select Block: Multiplexing over multiple channel inputs or timeouts.Sync Package: Thread synchronization using sync.WaitGroup and protecting memory via sync.Mutex.Race Conditions: Detecting multithreading defects using the built-in Go race detector
Standard Library: Leveraging the net/http package to launch robust web services.Testing & Benchmarks: Writing unit tests with the native testing framework.Capstone Application: Engineering a functioning RESTful API or high-performance CLI utility
Registration Details
Individual Fee
RM 4,500.00
Exclusive of 8% SST