Go Bootcamp: Master Golang with 1000+ Exercises and Projects

15h 27m 7s
English
Paid
April 3, 2024
Deeply understand and master the Go Programming Language (Golang) from scratch 1000+ hands-on exercises and projects.

More

Get a Real In-Depth Understanding of Go and its Internal Mechanisms by:

  • Ultra-detailed, entertaining, intuitive, and easy to understand animations.

Learn by doing:

  • Write a log parser, file scanner, spam masker and more.

  • Solve 1000+ hands-on exercises.

  • Learn a lot of tips and tricks that you can't find easily anywhere else.

What's included?

  • 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.

Why Go?

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.

Go has been designed by one of the most influential people in the industry:

  • Unix: Ken Thompson

  • UTF-8, Plan 9: Rob Pike

  • Hotspot JVM (Java Virtual Machine): Robert Griesemer

Requirements:
  • Access to a computer with an internet connection.
Who this course is for:
  • Beginners who have never programmed before.
  • Programmers switching languages to Go.
  • Intermediate Go programmers who want to level up their skills!
  • Intermediate Go programmers who want to learn the internals of slices, maps, interfaces, and so on.

What you'll learn:

  • Watch the free videos to see how I teach Go programming in depth.
  • Practice with 1000+ Exercises (with included solutions)
  • Pass Interviews: Master Go Internals In-Depth
  • Master Interfaces and Internals
  • Master Slice Internals: Slice Header and Memory Allocations
  • Master Map Internals: Map Header
  • Encode and Decode JSON
  • Create a log file parser, spam masker, retro led clock, console animations, dictionary programs and so on.

Watch Online Go Bootcamp: Master Golang with 1000+ Exercises and Projects

Join premium to watch
Go to premium
# Title Duration
1 Introduction to Variables 08:06
2 Example: Path Separator 05:32
3 When to use a short declaration? 06:12
4 Let's convert a value! 07:10
5 Learn the basics of os.Args 04:07
6 Naming Things: Recommendations 08:26
7 What is a Raw String Literal? 06:36
8 How to get the length of a utf-8 string? 04:37
9 Example: Banger: Yell it back! 04:43
10 Constants and iota 09:54
11 Println vs Printf 07:45
12 What is an Escape Sequence? 04:09
13 How to print using Printf? 07:48
14 The verbs can be type-safe too! 05:10
15 If Statement 05:13
16 Else and Else If 03:52
17 Tiny Challenge: Validate a single user 02:35
18 Solution: Validate a single user 07:51
19 Tiny Challenge: Validate multiple users 01:41
20 Solution: Validate multiple users 06:48
21 What is a nil value? 04:28
22 What is an error value? 06:31
23 Error handling example 03:44
24 Challenge: Feet to Meter 00:54
25 Solution: Feet to Meter 03:13
26 What is a Simple Statement? 04:17
27 Scopes of simple statements 06:14
28 Famous Shadowing Gotcha 05:13
29 Learn the Switch Statement Basics 09:26
30 What is a default clause? 03:27
31 Use multiple values in case conditions 02:26
32 Use bool expressions in case conditions 03:52
33 How does the fallthrough statement work? 06:53
34 What is a short switch? 03:01
35 Tiny Challenge: Parts of a Day 04:04
36 Solution: Parts of a Day 03:37
37 If vs Switch: Which one to use? 05:59
38 There is only one loop statement in Go 06:03
39 How to break from a loop? 05:24
40 How to continue a loop? (+BONUS: Debugging) 05:26
41 Create a multiplication table 05:41
42 How to loop over a slice? 05:23
43 For Range: Learn the easy way! 07:27
44 Randomization and Go 07:09
45 Seed the randomizer with time 04:12
46 Write the Game Logic 07:31
47 Build the Word Finder Program 07:36
48 Labeled Break and Continue 09:09
49 Break from a Switch using Labels 04:10
50 Yes there is a "goto" statement in Go 05:20
51 Introduction and Roadmap 06:10
52 What is an array in Go? 09:20
53 Let's create an array 04:58
54 Learn the gotcha when using a for range on arrays 07:34
55 What is a composite literal? 05:07
56 Refactor the Hipster's Love Bookstore to array literals 06:20
57 Tiny Challenge #1: Moodly 02:28
58 Can you compare array values? 07:49
59 Can you assign an array value to another one? 06:48
60 How to use multi-dimensional arrays? 08:46
61 Tiny Challenge #2: Moodly 04:15
62 Learn the rarely known feature of Go: The Keyed Elements 08:47
63 Learn the relation between composite and unnamed types 10:44
64 Recap: Arrays 04:10
65 Challenge: Retro Led Clock 06:43
66 Let's print the digits 07:27
67 Let's print the clock 06:51
68 It's time to animate the clock! 08:18
69 Introduction and Roadmap 03:10
70 Learn the differences between slices and arrays 06:01
71 Can you compare a slice to another one? 10:16
72 Create a unique number generator 07:15
73 Append: Let's grow a slice! 07:27
74 Slicing: Let's cut that slice! 09:34
75 How to create pagination using slices? (+ Sprintf) 04:48
76 What is a Backing Array? 10:46
77 What's a slice header? 05:29
78 What does a slice header look like in the actual Go runtime code? 07:29
79 What is the capacity of a slice? 05:10
80 Extend a slice using its capacity 06:04
81 When does the append function create a new backing array? 07:17
82 Animate: When the backing array of a slice grows? 06:18
83 Full Slice Expressions: Limit the capacity of a slice 06:04
84 make(): Preallocate the backing array 09:23
85 copy(): Copy elements between slices 07:40
86 How to use multi-dimensional slices? 09:19
87 Fetch the Files 05:28
88 Write to a file 04:29
89 Optimize! 04:17
90 Challenge 04:11
91 Step #1: Create and Draw the Board 06:27
92 Step #2: Optimize by adding a Buffer 07:03
93 Step #3: Animate the Ball 06:22
94 Introduction and Roadmap 01:23
95 Let's learn the basics of bytes, runes and strings 03:37
96 Let's write a character-set program 06:45
97 Let's convert, index, and slice bytes, runes and strings 11:28
98 How can you decode a string? 07:50
99 String Header: Why strings are immutable? 08:16
100 Recap: Strings Revisited 01:41
101 Challenge 03:05
102 Detect the link patterns 05:04
103 Mask the links 06:18
104 Let's build a Unicode text wrapper 06:02
105 Create an English to Turkish dictionary 08:29
106 Populate the dictionary 08:14
107 Map Internals: How maps work behind the scenes? 10:46
108 Scan user input using bufio.Scanner 07:08
109 Use maps as sets 09:23
110 Create a Log Parser using maps and bufio.Scanner 07:40
111 What is a struct? 04:34
112 Let's create a struct! 07:41
113 When can you compare struct values? 08:12
114 Go OOP: Struct Embedding 06:47
115 Rewrite: Log Parser to Structs 05:46
116 Encode values to JSON 09:12
117 Decode values from JSON 06:43
118 Learn the function basics 09:36
119 Confine variables to a function 10:07
120 Rewrite: Log Parser using functions 08:12
121 Learn the Pass By Value Semantics 07:59
122 What is a pointer? 10:56
123 Learn the pointer mechanics 10:16
124 Learn how to work with pointers to composite types 08:02
125 Rewrite the Log Parser using Pointers 06:38
126 Pointers or Values? Be Consistent 07:25
127 Methods: Enhance types with additional behavior 11:03
128 Pointer Receivers: Change the received value 10:29
129 Non-Structs: Attach methods to almost any type 07:55
130 Interfaces: Be dynamic! 11:38
131 Type Assertion: Extract the dynamic value! 11:49
132 Empty Interface: Represent any type of value 10:26
133 Type Switch: Detect and extract multiple values 06:28
134 Promoted Methods: Let's make a little bit of refactoring 09:33
135 Don't interface everything! 11:46
136 Stringer: Grant a type the ability to represent itself as a string 09:47
137 Sorter: Let a type know how to sort itself 09:51
138 Marshalers: Customize JSON encoding and decoding of a type 08:40

Similar courses to Go Bootcamp: Master Golang with 1000+ Exercises and Projects

Build a Google Analytics in Go

Build a Google Analytics in Go

Duration 7 hours 18 minutes 48 seconds
How to develop a productive HTTP client in Golang (Go)

How to develop a productive HTTP client in Golang (Go)

Duration 9 hours 44 minutes 29 seconds
Learn How To Code: Google's Go (golang) Programming Language

Learn How To Code: Google's Go (golang) Programming Language

Duration 45 hours 27 minutes 58 seconds
Mastering Multithreading Programming with Go (Golang)

Mastering Multithreading Programming with Go (Golang)

Duration 5 hours 24 minutes 43 seconds
Master Go

Master Go

Duration 6 hours 32 minutes 20 seconds
Ultimate Debugging

Ultimate Debugging

Duration 10 hours 15 minutes 13 seconds
Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)

Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)

Duration 1 hour 48 minutes 40 seconds