
Master Go basics with hands-on learning from installation to data types and control structures. Tackle concurrency, modules, and a capstone e-commerce project using MySQL and html, css, and javascript.
Discover Go, a statically typed, open source language designed for speed and simplicity. Leverage built-in concurrency with goroutines and channels for cloud native back-end development, microservices, and RESTful APIs.
Write your first Go program, declare package main, and import fmt to print a hello world message. Configure go.mod, run with go run, and explore go help and go doc.
Learn variables in Go by exploring int, string, float32, and bool types, declaring with var or the short := operator, plus naming rules, zero values, and type inference.
Declare and use constants in Go with the const keyword, creating typed and untyped values that remain immutable and must be assigned at declaration, with clear naming and scope inside or outside functions.
Explore data types in Go, a statically typed language, including basic, aggregate, reference, and interface types. Learn strings, numbers, booleans, and how to use fmt.printf to print values and types.
Explore Go operators, including arithmetic, assignment, comparison, logical, and bitwise, with salary examples that illustrate computing totals and evaluating conditions.
Learn go input and output with fmt print, println, and printf, and handle input using scan and scanf, including pointers, whitespace separation, and stopping when variables are filled. Explore how scanf returns count and error to help debug format mismatches, as demonstrated by formatted input and type checking.
Explore a practical Go use case: user registration, initializing username and password as strings, capturing input, and printing the username with a ciphered password.
This video introduces arrays in Go, covering fixed-size declarations, zero-based indexing, element access and mutation, default values for uninitialized elements, and using len for length.
Explore slices in Go by creating from arrays, slice literals, or the make function, and learn about length, capacity, and their relationship to underlying arrays.
Access and modify slice elements by index in Go, see how slices reflect changes in their underlying arrays, and use append to merge slices.
Learn how Go structs group different data types into a single variable, declare a struct with fields, assign values to emp details, and print fields in a demo.
Learn to build a simple product catalog management system in Go by defining a product struct, listing initial items, and appending user-added products with input and display.
Master Go conditional statements, including if, else, and nested if, with salary and age examples to illustrate bonuses, retirement eligibility, and multi-condition logic using and and or.
Explore the switch statement in Go, including value-based and type switch forms, with practical examples showing how to match cases, handle defaults, and ensure type consistency.
Explore the Go for loop as the language's only looping construct, including initialization, condition, and post; learn continue, break, and while-like patterns, plus range over arrays and maps.
Explore a practical use case of loops in Go by building a runtime program that collects teams and their members using for loops and fmt.Scan prompts.
Explains Go functions, from inbuilt helpers like len and cap to user defined functions, covering parameters, return values, named returns, and multiple return values with practical demos.
Go learners build a product struct with id, name, and price, then a place order function searches a products array to confirm an id and place the order.
Explore Go interfaces to define a contract for behavior and enable polymorphism, with circle and rectangle area methods and a generic get area function, enabling loose coupling and composition.
Explore interface types in Go by using type assertions and type switches, learn how to access underlying values, and see how stringer integrates with fmt for readable output.
Explore Go routines, lightweight concurrent execution in Go, created with the Go keyword and anonymous forms, enabling parallel task execution with safe data sharing via channels.
Go channels serve as the goroutine communication mechanism, created with make, to send and receive typed values, and learn to close and range over channels.
The lecture shows sequential programming versus Go routines, using 1000 squares with a one-second delay. Concurrency speeds execution to milliseconds, with the main thread waiting for completion.
Discover how Go wait groups in the sync package synchronize multiple go routines with add, done, and wait, ensuring the main function waits for all tasks during concurrent execution.
Explore panic in Go, an unexpected error that halts execution, through scenarios like sending to a closed channel or closing a closed channel, with a live demonstration.
Explore a concurrency use case in Go by using a wait group and a channel to process orders concurrently with goroutines, including a two-second simulated delay per order.
Learn how go organizes code with repositories, modules, and packages, initialize modules with go mod init, manage dependencies with go mod tidy, and ensure reproducible builds.
Learn to create and access a Go module with an area package, define rect_area to calculate a rectangle's area, and call it from main using the area package.
Explore essential Go commands for module management, building, and running programs; learn how go mod init, tidy, edit, and go run, build, install, and go get manage dependencies.
build a modular go project with order, product, and user packages in an e-commerce module, wiring them in main.go while initializing go.mod with go mod init and go mod tidy.
Explore Go's built-in packages and the standard library, covering input/output, string manipulation, file handling, networking, and cryptography. Learn import syntax and common functions, with a preview of the strings package.
Explore Go's strings package by using strings.contains to check substrings, strings.replace all to replace text, and strings.count to tally occurrences, highlighting case sensitivity.
Learn file handling in Go using the OS and IO packages to create, read, write, and delete files, and use the file path package for cross-platform path handling.
Learn to fetch file metadata with stat, read files in chunks with os.open and read, and append content using write string, with error handling.
Go, commonly known as Golang, is a statically typed, open-source programming language backed by Google. Go was designed to offer speed, simplicity, and ease of use in comparison to other existing technologies.
What’s in this course?
This course is designed for absolute beginners and provides a detailed overview of Go Programming essentials using a systematic and hands-on approach. It delves into fundamental Go concepts and gradually explore advanced topics such as its concurrency model, rich standard library, and clean syntax, while equipping you with the skills to build efficient, high-performance applications. But that's not all—we'll also tackle some real-world use cases to solidify your understanding. Each course topic includes lectures to clarify the concept, demonstrations to show it in action, and finally, an assignment to test your understanding and solidify your learning.
If you’re a beginner to Go, don’t worry - this course starts from the basics and builds on gradually to intermediate topics.
Legal Notice:
"Go" or "Golang" is a registered trademark of the Google LLC in the United States and other countries. This course is not certified, accredited, affiliated with, nor endorsed by Google LLC.
Course Structure:
Lectures
Demos
Quizzes
Assignments
Course Contents:
Introduction to Golang
Go Installation and Setup
Variables
- Declaring Variables
- Multiple Variables
- Naming Conventions & Rules
Go Constants
Data Types
Operators
Input/Output
Data Structure
- Arrays
- Slices
- Maps
- Structs
Control Structure
- Switch
- For loop
- Functions
Go Interfaces & its types
Concurrency in Go
- Goroutines
- Channels
- Wait Groups
Packages & Modules in Go
- Accessing Packages
- Package Creation
- Go Core Packages
Error handling
Logging
Creating Microservices using Go
All sections in this course feature live demonstrations. Enrolled users are encouraged to set up their own environment, engage in the exercises, and learn through hands-on experience!