
Explore Go, the open source programming language from Google designed to build simple, reliable, and efficient software with fast concurrency and built-in tooling.
Install Go on your system by downloading the installer from Go download page for your operating system, then verify by running go in the terminal to display the help manual.
Install Visual Studio Code, configure go-supporting plugins to enable Go development, and learn that VS Code is cross-platform, open source, and free with a simple installation process.
Configure VS Code for Go development by installing the Go extension, selecting Go as the language, installing Go tools, reloading the editor, and preparing to write your first Go program.
Start your go journey by creating a project folder named HelloWallet, writing a simple hello world program with package main and import, then print to the console and run.
Learn to run a hello world in Go with go run and go build, and understand multi-file execution using dot, plus commands like go clean, go install, and go test.
Explore go packages, including executable and libris packages, the main function, and how package declarations organize code into reusable, folder-based modules.
Learn how to use import declarations to bring in standard and third-party packages in Go, enabling console printing, time utilities, and database connections.
Organize your go workspace by setting GOPATH outside the installation directory and using your home directory by default, then download third-party libraries into the workspace.
Explore how Go scopes control visibility from block level to package level, including block, file, and package scope, and how cross-file access and per-file imports shape function visibility.
Discover Go comments, including single-line and multiline forms, which are ignored by compilers and interpreters, and learn how to document code and mark the main function as the entry point.
Learn how to generate documentation for Go packages by starting comments with the function name, using Go doc, and exposing libraries for other developers.
Create your first library package in Go by declaring the package, exporting functions with uppercase names, and using private lowercase items within the package.
Explore Go basic data types, including integer variants (8, 16, 32, 64) with signed and unsigned forms, floating-point numbers (float32, float64), booleans, and strings.
Learn how to declare variables in Go, apply naming rules, explore block and package scope, observe default values, avoid unused variables, and use blank identifiers and multivariable declarations.
Learn how to initialize variables in Go using assignment, type inference, and short declarations, and understand when to use normal versus short declarations for readability and scope.
Declare and initialize variables in Go, apply the assignment operator, and swap two numbers using simple and multi-variable assignments with matching data types.
Learn how Go handles type conversions, including converting between float and int, that conversion does not change the original value, and how to apply conversions in calculations like distance.
Master type conversions in Go by learning how to print a variable's type, understand wraparound when casting to float64, and convert between strings and numbers.
Learn how Go constants represent fixed, compile-time values across basic types, exemplified by pi as 3.14 for circumference calculations; declare with const, must initialize, and use grouped declarations.
Learn Go constant rules: constants are immutable and must be initialized at compile time; you cannot use variables or runtime expressions like power, and only other constants can initialize constants.
Explore untyped constants in Go, learn how constants can be declared with or without a type, and how the compiler converts them when assigning to typed variables.
Discover iota, the Go constant incrementing identifier that starts at zero and advances with each declaration. Skip values with the blank identifier and use iota in expressions.
Explore print versus printf in Go, including how multiple arguments print with spaces and newlines, and how printf uses verbs to format integers, floats, strings, and booleans.
Explore raw string literals in Go, which use backticks to preserve multiline content and ignore escape sequences, unlike interpreted strings that process backslashes and newlines.
Learn how Go's length function reports string length in bytes, not characters, due to UTF-8 encoding, and how to use the utf8 package to count characters.
Explore the strings package from Gold Standard Library in Go to convert text to uppercase and lowercase, and learn contains, index, and repeat with case sensitivity.
Master string concatenation in Go using the + operator and the += shorthand, insert spaces between strings, and print the results, while converting non-string values to strings as needed.
Explore arithmetic operators in Go, including addition, subtraction, multiplication, division, and modulo; understand integer vs float behavior, and operator precedence with left-to-right evaluation.
The lecture explains assignment operators in Go, comparing them to other languages, and demonstrates +=, -=, *=, /=, %=, plus increment and decrement statements with sample variables.
Learn how Go handles integer overflow and underflow by wrapping to minimum and maximum values for signed and unsigned types, and observe float overflow producing infinity.
Define new defined types in Go using the type keyword, such as price based on int, with its own methods and underlying type behavior.
Learn how to pass and parse command line arguments in Go, using a string slice, indexing from one for inputs, and convert types when needed.
Explore the if and else control flow in Go, deciding whether a code block runs based on conditions, using command line input, string length checks, and basic type conversion.
Explore Go's short if statement, using short variable declarations with the condition, analyze scope inside and outside the block, and validate results with input and comparison examples.
Explore go's error handling by returning a value and an error, checking for nil, and handling improper input when converting strings to integers.
Explore switch statement basics in Go, including converting console input from string to int, matching case conditions by type, unique values, default blocks, and Go's implicit break behavior.
Explore Go switch statements, including multiple values per case, short statements, and boolean expressions. Use colors and countries examples to illustrate matching and default handling.
understand fallthrough behavior in Go switch, how control transfers to the next case, how a false condition affects propagation, and the role of the default case.
Explore how Go uses a single for loop to execute repeated tasks, using init, condition, and post components to sum numbers from one to two hundred and emulate while loops.
Learn how the break statement ends a for loop in Go by counting and printing the first ten even numbers, using if i%2==0 and an infinite loop.
Learn how the continue statement controls a for loop in Go, skipping even numbers with an if condition and printing odd numbers from 1 to 20.
Master arrays as a collection that stores multiple values of the same type in contiguous memory with zero-based indexing and fixed length.
Declare and initialize arrays in Go, observe default zero values for uninitialized elements, enforce non-negative lengths, and use index-based access with printf style formatting.
Learn how to iterate over arrays in Go using a traditional for loop and the range keyword, printing each index and value, and using length to control iteration.
Learn how keyed elements in go let you initialize arrays and slices with explicit index keys, mixing keyed and unkeyed items for flexible layouts.
Compare two int arrays using the equality operator (==) by ensuring identical type and length, and matching elements at every index to produce true; mismatches yield false.
Go copies array values on assignment, creating separate memory blocks so changes to one array don’t affect the other; efficient for small arrays but not large ones.
Explore multidimensional arrays in Go, focusing on two dimensional arrays, their syntax, declaring and reading values across multiple indices, and computing the sum of all elements.
Compare arrays and slices in Go: arrays have fixed size at compile time, slices are dynamic at runtime; both share element type, default nil when uninitialized, and zero-based indexing.
Explore slice declarations in Go, distinguishing fixed-length arrays from dynamic slices, initialize slices, understand nil versus non-nil, check length with len, index elements, and iterate with for range.
Learn how to compare two slices in Go by iterating element by element, handling nils and length differences, and avoiding the false equivalence of the == operator.
Master slice expressions in Go by extracting elements with start and end indices, exploring default indices, ranges, and removing the last element through careful slicing.
Understand how a backing array stores slice elements and how slices share memory, with updates propagating to all slices sharing the same backing array.
Explore how a slice header in Go stores length, capacity, and a pointer to the backing memory; learn how slice expressions determine start, visibility, and element access.
Explore how a Go slice's header points to the backing array, with length and capacity determining elements; empty slices have zero length and capacity but can grow up to capacity.
Explore full slice expressions in Go, control length and capacity, understand backing arrays, and see how append creates a new backing when capacity is exhausted.
Go's make function creates a slice with length and capacity, initializing default values and showing how backing storage grows with append. Optimize by preallocating or using zero length with append.
Learn how to work with multidimensional slices in Go, including declaring, iterating with for and range, and using make and append to compute daily sales across days.
Learn how to copy elements with the copy function, using make to create destination slices, and see how the length of source and target determines the copied elements and replacements.
Learn how Go represents text with strings as byte slices and runes as Unicode code points, and how UTF-8 encoding converts between strings, bytes, and ASCII code points.
Explore how Go handles strings with bytes and runes, measuring utf-8 length and iterating with range, including hex printing. Learn to index safely by converting to a rune slice.
Explore maps in Go, a key-value collection with unique keys and fast lookups via a hash table, where keys are the same type and values are the same type.
Declare maps in Go as a key-value collection with integer keys and string values, retrieve values by key, and note that missing keys yield the zero value.
Explore map initialization in Go by creating and populating maps, handling duplicates, updating existing keys, and using two-value lookups to detect missing keys, plus iterating with range despite unordered order.
Delete map entries in Go using the built-in delete function by key, and observe the removed entry. Then clear the map by setting it to nil or reinitializing with make.
Explore how to clone a map in Go, exposing pointer semantics, assignment behavior, and manual cloning with a for range loop using make to create a new map.
Explore go file basic operations: create, open, truncate, and delete files with permissions 0755 and error handling. Inspect file info via stat and log errors with timestamps.
Learn how to write bytes to a file in Go by using the os package to open, create, and write, with defer for safe closing and a comparison with ioutil.WriteFile.
Learn how to use a buffered writer in Go to accumulate data in memory before writing to a file, improving performance by flushing when the buffer fills.
Open the file and read by chunks in an infinite loop, breaking on end of file or errors, and print the bytes as a string.
Learn how to read a file line by line in Go using a scanner, opening in read-only mode and optionally delimiting lines, then capture each line with Text.
Go or Golang is an open source programming language that makes it easy to build simple, reliable, and efficient software. Go is a statically typed, compiled programming language designed at Google in 2007. The language is often referred to as Golang because of its domain name, but the proper name is Go.
This course is designed to give you the knowledge on all Go topics as quick as possible. Not only basics, we are covering all Go advanced topics like Go concurrency model and interface type systems. This course is mainly focused on Go programming language fundamentals. We will definitely make you comfortable with all Go topics, but we cannot make you mastering in Go which requires lot of practicing efforts. Trying to be honest here. We are covering required level of live coding examples during the session to make you understand the concepts better.
The lectures are based on beginners, straight to the point. I always recommend to practice it along with the session. Hope you will enjoy it.
As part of this course, you will:
- Golang programming language fundamentals.
- The examples are typed upfront during the session itself.
- All concepts with simple code examples.
- Apply Golang concurrency model to build the best parallel systems.