Course Details

- Go Intro
Go Basics
- Go Syntax
- Go Variables (var, const, short declaration
:=
) - Go Data Types (int, float, string, bool, etc.)
- Go Constants
- Go Operators (Arithmetic, Comparison, Logical, Assignment)
- Go Strings (String concatenation, String formatting)
- Go Comments
- Go Input/Output (fmt package, fmt.Print, fmt.Scan)
- Go Type Conversion
Go Control Structures
- Go If…Else
- Go Switch
- Go Loops (for loop, range)
- Go Break/Continue
- Go Defer, Panic, Recover
Go Functions
- Go Functions (Function declaration, parameters, return values)
- Go Function Parameters and Return Types
- Go Named Return Values
- Go Variadic Functions (varargs)
- Go Anonymous Functions (Lambda Functions)
- Go Closures
- Go Recursion
Go Object-Oriented Programming (OOP) Concepts
- Go Structs (Creating Structs, Initializing Structs)
- Go Methods (Method declaration, method sets)
- Go Interfaces (Defining interfaces, method sets, implementing interfaces)
- Go Embedding (Composition in Go)
- Go Polymorphism (Interface-based polymorphism)
- Go Composition vs Inheritance
- Go Object Methods with Pointers
Go Concurrency
- Go Goroutines (Concurrent execution of functions)
- Go Channels (Communication between Goroutines)
- Go Select (Multiplexing multiple channels)
- Go WaitGroup (Synchronizing Goroutines)
- Go Mutex (Locking mechanisms, preventing race conditions)
- Go Context (Managing timeouts and cancellations)
Go Error Handling
- Go Errors (error type, creating custom errors)
- Go Panic and Recover
- Go Try-Catch-like Handling (Error checking and handling)
Go Packages and Modules
- Go Standard Library (fmt, math, time, os, etc.)
- Go Importing Packages
- Go Creating and Using Custom Packages
- Go Modules (go.mod, go.sum, managing dependencies)
- Go Vendor Directory (Dependencies Management)
- Go Test Packages (Testing in Go, creating test files)
Go File I/O
- Go File Handling (os package, reading and writing files)
- Go Directory Operations (Creating, removing, listing directories)
- Go File Permissions
- Go Working with JSON (encoding, decoding JSON)
- Go Working with CSV (encoding, decoding CSV)
- Go Working with XML
Go Networking
- Go Networking Basics (net package)
- Go HTTP Client (Making HTTP requests)
- Go HTTP Server (Creating a simple server)
- Go TCP/UDP Connections
- Go WebSockets
Go Testing
- Go Testing Basics (testing package)
- Go Test Functions (Test, Benchmark, Example)
- Go Test Coverage (code coverage)
- Go Table-Driven Tests
- Go Mocking and Stubbing
- Go Unit Testing Best Practices
Go Tools and Development
- Go Command Line Tools (go build, go run, go test, go fmt)
- Go Documentation (godoc, commenting conventions)
- Go Profiling (Analyzing performance, CPU/Memory profiling)
- Go Debugging (gdb, delve)
- Go Code Formatting (gofmt)
- Go Linting (go lint, linters for Go code)
Go Best Practices
- Go Idioms (Idiomatic Go practices)
- Go Code Structure (Package organization, file naming conventions)
- Go Naming Conventions
- Go Error Handling Best Practices
- Go Performance Optimization
- Go Concurrency Best Practices
Go How To
- Go Add Two Numbers
- Go Reverse a String
- Go Factorial Calculation
- Go Prime Number Check
- Go Fibonacci Series
- Go File Upload and Download
- Go HTTP Server (Basic Web API)
- Go Parallel Processing Example (Using Goroutines and Channels)
Leave a Reply