GoLang

·

·

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

Your email address will not be published. Required fields are marked *