Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Go Bootcamp: Master Golang with 1000+ Exercises and Projects
Rating: 4.8 out of 5(4,002 ratings)
33,172 students

Go Bootcamp: Master Golang with 1000+ Exercises and Projects

Master and Deeply Understand Google's Go from Scratch with Illustrated In-Depth Tutorials & 1000+ Hands-On Exercises.
Last updated 5/2021
English
English [Auto],Spanish [Auto],

What you'll learn

  • Learn from a Go Contributor
  • Learn Go Tips & Tricks that you can't find easily anywhere else
  • Go from a total Go beginner to a confident Go programmer
  • Practice Go with 1000+ Exercises (with included solutions)
  • Understand Go In-Depth with Animated Illustrations (Pass Interviews)
  • Learn the Go internals and common Go idioms and best-practices
  • Create a Log File Parser that parses log files
  • Create a Spam Masker that masks spammy words within a block of text
  • Create a command-line Retro Led Clock that shows time
  • Create Console Animations, Dictionary Programs, and more

Course content

17 sections196 lectures15h 44m total length
  • Installation and Resources0:26
  • Introduction to Variables8:05
    • How to declare a variable

    • Parts of a variable declaration syntax

    • Naming rules

  • Example: Path Separator5:31
    • Path package

    • Path.Split function

    • Function declaration syntax

    • Using blank-identifier with multiple result returning expressions

  • When to use a short declaration?6:11
    • Recommendations about when to use a short declaration vs a variable declaration.

    • Code examples

  • Let's convert a value!7:09
    • How to change the type of a value to another type?

    • Type conversion expression syntax

    • Importance of the order of type conversions

    • Rules

  • ⭐️ Get input from terminal ⭐️4:54
    • Getting arguments from the command-line

    • os Package and os.Args

    • Introduction to Slices

    • Index expressions

  • Learn the basics of os.Args4:06

    Discover how os.Args captures the program name and arguments, inspect the args slice with Printf and len, and use go build to create a greeter executable that runs with arguments.

  • Naming Things: Recommendations8:25

    "There only two hard things in computer science: Cache invalidation and Naming things."

    • The subject of this lecture is about naming things of course.

    • We're going to look at a lot of examples for properly naming your identifiers.

    NOTE: This lecture is about using names in Go in general.

  • ★ EXERCISES ★0:18
  • What is a Raw String Literal?6:35
    • What is a Raw String Literal?

    • String Literals vs Raw String Literals

    • Code Along Examples

  • How to get the length of a utf-8 string?4:36
    • How to get the length of a string?

    • Interesting details about the len function

    • Calculating the length of unicode characters

    • Very gentle introduction to Runes and Codepoints

  • Example: Banger: Yell it back!4:41
    • Introduction and usage of strings package

    • Getting input from the command line

    • And manipulating it using the strings package

    • String concatenation and using functions

  • ★ STRINGS EXERCISES ★0:02
  • Constants and iota9:53
    • What's iota? Why you want to use it? What it does?

    • Using blank-identifier in constant declarations

    • Creating a timezone table using iota and constants

  • ★ IOTA EXERCISES ★0:01
  • ⭐️ Print Formatted Output ⭐️0:05
  • Println vs Printf7:44
    • How to print formatted output?

    • How Printf works

    • The mechanics of the Printf function

  • What is an Escape Sequence?4:08
    • What is an escape sequence?

    • What is an escape character?

  • How to print using Printf?7:47
    • How to print the type of any value?

    • Examples for common verbs

    • Swiss Army Knife Verb

    • Argument Indexing

  • The verbs can be type-safe too!5:09
    • Type-Safety and Printf

    • Changing the printed precision

  • ★ PRINTF EXERCISES ★0:06
  • ⭐️ If Statement ⭐️0:16
  • If Statement5:12
  • Else and Else If3:51

    Master how if, else, and else if branches control flow with condition expressions, blocks, and the rule of one if and one else, plus multiple else ifs.

  • ★ IF STATEMENT EXERCISES ★0:04
  • Tiny Challenge: Validate a single user2:34
  • Solution: Validate a single user7:50
  • Tiny Challenge: Validate multiple users1:40

    Add a new user to the Pass Me program with a unique password and validate access for two users, Jack and Inanch, across correct and mismatched credentials.

  • Solution: Validate multiple users6:46
  • ⭐️ Error Handling ⭐️0:08
  • What is a nil value?4:27

    Explore nil values in Go, a predeclared identifier meaning no value, used with zero values, and its role in error handling with nil errors signaling success.

  • What is an error value?6:30
  • Error handling example3:43

    Demonstrate proper error handling in Go by converting a command line argument to an integer, checking the error immediately, and handling the happy path versus invalid input.

  • Challenge: Feet to Meter0:53

    Enhance the feet-to-meters converter by adding error handling, display an error when input isn’t a number, and continue processing valid numbers like 100.

  • Solution: Feet to Meter3:12
  • What is a Simple Statement?4:15
  • Scopes of simple statements6:13

    Explore how short if statements in Go declare variables, manage scope across branches, and handle command line arguments and errors, with a practical example that doubles input.

  • Famous Shadowing Gotcha5:12
  • ★ ERR HANDLING EXERCISES ★0:05
  • ⭐️ Switch Statement ⭐️0:08
  • Learn the Switch Statement Basics9:25
    • What's an expression switch?

    • What's a switch condition? How it works?

    • What's a case clause?

    • What's the difference between a switch statement and an if statement?

  • What is a default clause?3:26
  • Use multiple values in case conditions2:25

    Use multiple case conditions in a switch to map Paris or Lyon to France and Tokyo to Japan, using the logical or operator for readable, idiomatic Go code.

  • Use bool expressions in case conditions3:51
  • How does the fallthrough statement work?6:52
  • What is a short switch?3:00

    Explore the short switch statement in Go, using a simple statement inside the switch, with semicolon separators, to evaluate true conditions and cases like positive, negative, or zero.

  • Tiny Challenge: Parts of a Day4:03

    Use Go's time package to display good morning, good afternoon, good evening, or good night based on the current hour, using time.Now, hour, and a short switch statement.

  • Solution: Parts of a Day3:36

    Master Go's time-based switch logic to determine parts of the day, printing good morning, afternoon, evening, or night based on the current hour.

  • If vs Switch: Which one to use?5:58

    Compare if and switch usage in go by converting a month checker from nested ifs to a switch, with clear error handling for invalid months.

  • ★ SWITCH EXERCISES ★0:02
  • ⭐️ Loops ⭐️0:07
  • There is only one loop statement in Go6:02

    Master Go loops by using the single for statement to implement initialization, condition, and post steps, nest loops, and iterate with range clauses for tasks like summing numbers.

  • How to break from a loop?5:23
  • How to continue a loop? (+BONUS: Debugging)5:25

    Learn how the continue statement controls for loops in Go, skipping to the next iteration to filter even numbers, and debug with the built-in VS Code debugger to fix loops.

  • Create a multiplication table5:40

    Create a Go program that builds a colorless multiplication table with nested loops, using a five-wide header and cells for clean alignment; later enable a dynamic, argument-driven size.

  • How to loop over a slice?5:22

    Learn to loop over slices in Go using a for loop and index expression, printing each element. Also split a string into words with strings.Fields and print word positions.

  • For Range: Learn the easy way!7:25

    Master the four range clause in Go, using it with slices, strings, maps, and channels, and learn index and value handling, blank identifiers, and slice expressions for cleaner loops.

  • ★ LOOP EXERCISES #1 ★0:03

Requirements

  • Access to a computer with an internet connection.

Description

Go is a programming language created by Google, and this course is the most intuitive, in-depth, and highest-quality Go course on Udemy, with an insane level of attention to detail. You'll understand both the why and how. We've included thousands of animations, exercises, quizzes, examples, challenges, projects, and so on. By the end of the course, you'll become a confident Go programmer from scratch.

Why should you take this course now?

  • Watch ultra-detailed, entertaining, intuitive, and easy to understand illustrations and animations.

  • Solve 1000+ hands-on exercises (solutions are also included).

  • Create projects including a log parser, file scanner, spam masker, and more.

  • Learn Go programming tips and tricks that you can't find easily anywhere else.

  • Learn the Go internals and common Go idioms and best-practices.

Why should you learn Go (aka Golang and Go lang)?

  • Go is one of the most desired, easy to learn, and the highest paying programming languages. There are 1+ million Go programmers around the world, and the number is increasing each day exponentially. It's been used by Google, Facebook, Twitter, Uber, Docker, Kubernetes, Heroku, and many others.

  • Go is Efficient like C, C++, and Java, and Easy to use like Python and Javascript. It's Open-Source, Simple, Powerful, Efficient, Cross-Platform (OS X, Windows, Linux, ...), Compiled, Garbage-Collected, and Concurrent.

  • Go is best for Command-line Tools, Web APIs, Distributed Network Applications like Microservices, Database Engines, Big-Data Processing Pipelines, and so on.

What are you going to learn from this course (briefly)?

  • Go OOP: Interfaces and Methods

    • Internals of Methods and Interfaces

    • Functions and Pointers: Program design, pass by value, and addressability.

    • Implicit interface satisfaction

    • Type assertion and Type Switch

    • Empty interface: []interface{} vs interface{}

    • Value, Pointer, and Nil Receivers

    • Promoted Methods

  • Famous Interfaces

    • Tips about when to use interfaces

    • fmt.Stringer, sort.Sort, json.Marshaler, json.Unmarshaler, and so on.

  • Composite Types: Arrays, Slices, Maps, and Structs

    • Internals of Slices and Maps

    • Backing array, slice header, capacity, and map header

    • JSON encoding and decoding, field tags, embedding

    • Make, copy, full Slice expressions and append mechanics

    • UTF-8 encoding and decoding

  • Go Type System Mechanics

    • Type inference, underlying, predeclared, and unnamed types.

    • Untyped constants and iota.

    • Blank Identifier, short declaration, redeclaration, scopes, naming conventions

  • I/O

    • Process Command-Line Arguments, printf, working with files, bufio.Scanner, ...

  • How to create your own Go packages

    • How to run multiple Go files, and how to use third-party packages

  • Go tools

    • Debugging Go code, go doc, and others.

  • ...and more.

Who this course is for:

  • Take this course as the best companion to fully understand the official Go Spec and book.
  • Beginners who have never programmed before.
  • Programmers switching languages to Go.
  • Go programmers who want to level up their skills!
  • Go programmers who want to learn the internals of slices, maps, interfaces, and so on.