
Learn how Go handles data types and variables, declaring with var or colon equals, initializing multiple variables on one line, and printing results using the format package.
Learn Go's signed and unsigned integers across four sizes—8, 16, 32, and 64 bits—with int8, int16, int32, int64 and uint8, uint16, uint32, uint64, and see their ranges and sample prints.
learn how to name and declare Go variables, including valid patterns, type inference with :=, and zero values; explore scope across functions and printing of ints and strings.
Explore constants in Go, immutable values declared with the const keyword, illustrated by constant strings and integers like x and y, and the compile-time error when attempting reassignment.
Learn how arithmetic operators in Go combine numbers and strings into expressions, including addition, subtraction, multiplication, division, and remainder, with integer division yielding zero fractions.
Explore bitwise operators and how they perform per-bit calculations on integers, demonstrated with x=75 and y=25 using and, or, and xor to yield 9, 91, and 82.
Learn Go comparison operators such as equals, not equal to, less than, greater than, and equal-to forms, with boolean results, logical operators like &&, ||, and !, and assignment operators.
Define and call functions in Go, pass integer parameters, return values, and export functions to other packages, using function signatures and the func keyword.
Master Go's defer statements that run after a function completes in the last in first out order, with deferred calls, work even when a panic occurs, and aid resource management.
Explore variadic functions in Go, learning how an ellipsis enables a function to accept any number of arguments. See examples with strings, interfaces, and type printing using reflect.
Explore how Go's panic interrupts normal execution, stack-unwinds with deferred calls, and can be triggered by runtime errors or explicit panics, with diagnostic log messages for debugging.
Learn how panic and recover work in Go, using defer to recover from runtime errors and nil checks, and understand recovery only within the same goroutine.
Learn how Go arrays are fixed-size collections of a type, with length as part of the type and zero-value elements. See value-copy behavior when assigning or passing arrays to functions.
Explore Go array handling by using the len function, for loops, and range to print the index and value, including ignoring the index with an underscore.
Learn how to work with two dimensional arrays in Go by building a 3x2 matrix, initializing values, and printing the elements row by row using nested for loops.
Explore Go slices as flexible references to an underlying array, learn slice creation with start to end, understand length and capacity, and see how edits propagate to all slices.
Explore slices in Go by creating with make, inspecting length and capacity, appending elements (including from nil slices), using the ellipsis to append slices, and building multi-dimensional slices.
Explore maps in Go, a built-in type linking keys to values created with make. Learn to add, access, and print contents, and handle missing keys returning zero values.
Learn how to check key presence in a map, handle values with if-else, iterate with for range, delete keys, and understand maps as reference types in Go.
Explain strings in Go as slices of bytes, show creation with quotes, access bytes and ASCII hex values, and demonstrate range-based iteration, rune handling, and string immutability with byte-slice mutations.
Learn how pointers store memory addresses, how to dereference and modify values via pointers, and how to pass pointers to functions and work with arrays and slices in Go.
Learn how Go structures group fields into a single unit, with named and anonymous forms, using basket, fruits, and vegetables to illustrate field access, initialization, and pointers.
Explore anonymous fields in Go structures, including how fields with only a type become named by their type, and how to access and promote them in nested structs.
Explore how exported structs and fields become accessible across packages, and see how unexported fields remain private, in a sample Go project using a computer package and exported fields.
Learn that Go structures are value types and are equal when all fields are comparable, including strings. See that maps inside a struct break comparability and cause a compiler error.
Learn how Go attaches behavior to types using methods with receivers on types, illustrated by a method on X that prints A and B, and why they differ from functions.
Explore Go methods with value and pointer receivers, show how changes propagate differently, compare copying costs, and demonstrate methods on anonymous fields and access behavior.
Clarify value receivers in methods versus value arguments in functions in Go, cover pointer receivers, passing by value or pointer, and how methods and functions can share names.
Explore Go interfaces, where a type implements an interface by its methods with implicit declarations, and use slices of interfaces to write extensible code.
Explore the empty interface in Go, which any type implements, and use type assertion and type switches to extract underlying values and dispatch by concrete types.
Implement interfaces in go by using pointer and value receivers, define and invoke interface methods on structs, and explore interface assignments and method calls that print internal fields.
Explore implementing multiple interfaces in Go, embedding interfaces to create a composite interface, and handle zero value and nil scenarios along with panics when interfaces lack values.
Explore concurrency and parallelism in Go, and discover how go routines provide lightweight concurrency and how channels enable safe inter-routine communication through practical browser scenarios.
Learn how Go channels enable inter-goroutine communication through typed channels, with make, nil values, and blocking send and receive to synchronize execution.
Explore go channels, avoid deadlock and runtime panic by ensuring senders and receivers synchronize; learn unidirectional channels, bidirectional conversions, and closing channels to signal completion.
Discover how buffered channels in Go enable a capacity buffer, blocking on full or empty, with an example using a capacity of two and concurrent sends, reads, and channel closing.
Learn how buffered channels in Go can deadlock when writes exceed capacity without readers, and how a WaitGroup coordinates multiple goroutines with Add, Done, and Wait.
Explore how Go's select statement chooses among multiple channel operations, waiting for the first ready send or receive and optionally using a default case to avoid blocking.
Explore how the select statement reads from channels, how a default case prevents deadlock, and how an empty select can still block or panic in Go.
Explore how Go replaces classes with structs and methods, bundling data with behavior. Use a custom package and Go workspace to illustrate struct-based design.
Go lacks constructors; zero value structs can be unusable, so create a constructor-like new function to return a fully initialized object with required parameters.
Explore composition in Go by embedding structs with anonymous fields, accessing embedded fields and methods, and printing outcomes through practical struct examples.
Explore Go's defer statement and how it defers function calls until just before return. See how deferred arguments are evaluated at deferral and how a lifo defer stack controls execution.
Go treats errors as values, with nil for success and non-nil for failure, and functions like open return a result and an error to be checked and handled.
Learn to create custom errors in Go using new and errors packages, implement custom error types to carry data like the radius, and handle negative input when calculating circle area.
Explore panic and recover in Go: learn how panics terminate a program, how recover inside deferred functions regains control, and how defers execute before unwinding the stack.
Explore panics from out-of-bounds access in Go. Learn to recover from panics with the recover function, inspect control flow, and view stack traces printed by the debug package.
Go supports first-class functions, enabling anonymous functions, passing functions as arguments, defining function types, and higher-order functions; closures bind to surrounding variables.
Explore Go string functions by testing contains, prefix, suffix, index, join, split, repeat, replace, and case conversion, with practical examples of text manipulation and querying.
This lecture demonstrates a go program that computes the factorial of a number using a for loop, reads an unsigned 64 bit input, and handles negative numbers.
Explore Go string functions like contains, count, and equal to check substrings, tally occurrences, and compare strings with case sensitivity.
Develop a Go program that reads three integers, uses if statements with boolean comparisons to identify the largest value, and prints the result.
Learn how to build a Go program that reads a number, reverses its digits, and checks if it is a palindrome, then prints whether it matches the original.
Write a program that reads a user-defined number of values, stores them in an array, sums the values, divides by the count, and prints the resulting average.
Learn to reverse sort in Go by using sort on slices, handling integers and strings in place through interfaces, and observe how reversed output is produced.
Write a Go program that reads two strings from user input, concatenates them using the + operator, and prints the combined result.
Explore hash tables by using maps to store key-value pairs, highlighting that maps are unordered and yield different iteration orders on each run, with for range examples.
Write a program that reads a number of elements, stores them in an array, and iterates with for loops to identify and print the largest value.
Demonstrate Go's string compare function from the strings package, showing how lexicographic comparisons return -1, 0, or 1 based on ASCII values of S1 and S2 with examples.
Apply go programming concepts by implementing and testing array and string operations, including sort, search, and index checks for ints and strings, with practical examples.
Learn to access the first and last elements of a Go slice using 0 and len(x)-1, and remove elements by slicing with x[1:] or x[:len(x)-1].
Learn how to find variable types in go using the reflect package and ValueOf, inspecting string, int, slice, map, and float types.
Learn how to convert strings to different data types in Go using parse functions, including bool, float, and integer conversions, with base types and fixed sizes from the string package.
Convert integers to strings in Go using the string package and format functions, handling int and unsigned 64-bit values, and concatenate results in a base with lowercase digits.
Learn how to concatenate two or more slices in Go using append, and how capacity and the underlying array affect allocation, with an example printing slice contents and capacities.
Discover multiline strings in Go by using multiple lines, concatenating strings across lines, and ending lines with a newline to compose a single string literal.
Explore printing and formatting in Go using Printf, covering booleans, integers, floats, strings, and complex numbers, with column formatting and width controls demonstrated through practical examples.
Explain the differences between sscan, sscanf, and sscanln in Go, and describe how scanning handles lines and newlines during input.
Explore the differences between fscan, fscanf, and fscanln in Go, demonstrating how the format package scans values into variables and handles newlines.
Learn how to use the read at least function in Go to fill a buffer until a minimum number of bytes are read, signaling end-of-file and errors.
Learn how to use read full to read an exact number of bytes from the input buffer into an output buffer, returning the bytes copied and any error.
Welcome to the course:
"Learn Go Programming From Scratch && Crack Golang Interviews"
This course is from a software engineer who has managed to crack interviews in around 16 software companies.
Sometimes, life gives us no time to prepare, There are emergency times where in we have to buck up our guts and start bringing the situations under our control rather then being in the control of the situation. At the end of the day, All leave this earth empty handed. But given a situation, we should live up or fight up in such a way that the whole action sequence should make us proud and be giving us goosebumps when we think about it right after 10 years.
This course is designed for beginners who want to learn go programming language.
This course is designed for Intermediate and Experienced Developers who want to kick start learning go programming language.
Be it freshers, Intermediate or Experienced Developers, anybody who is preparing for go language programming interviews can take this course.
This course is a complete hands on, where in each and every go language concept is explored with coding examples. We have a lot of programs which adds up to the course explaining the concepts.
The way this course is dealt is, we type each and every program literally like a fresher and solve any issue arising out of that program like an expert.
Right from simple to complex issues, each and every part of the issue is explained well in detail.
You can download the programs once you are part of the course. The course lives up to the expectations of the candidates who take up this course.
This course will be constantly updated with programs and further sessions.
As per Udemy policy you can have a refund if you feel, this course is not for you.
Well, Hop in and Let's start