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

45h 27m 58s
English
Paid
April 12, 2024

This course is the ultimate comprehensive resource for learning the Go Programming Language. This course is perfect for both beginners and experienced developers. The course is full of examples, hands-on exercises, solutions to the hands-on exercises, and an amazing code repository. This course is taught by one of the world’s leading Go Programming Trainers, Todd McLeod. Todd was the first university professor in America to teach Go at the university level. Todd has taught over 1.65 Million students how to use the Go Programming Language.

More

This course is tried, tested, and proven to train beginners and experienced developers how to use Go. This course has a tremendous amount of content and resources so that you can learn everything you need to know – whatever is appropriate for your ability level.

Requirements:

  • No prerequisite knowledge is required to take this course. This course starts at the very beginning and will teach you everything you need to know to be an outstanding programmer.

What you’ll learn:

  • The ultimate comprehensive course
  • For beginners and experienced devs
  • Taught by a university professor
  • From beginning to advanced concepts
  • Concurrency, channels, benchmarking
  • Testing, error handling, documentation
  • Hands-on exercises with solutions
  • Access to valuable code base
  • This course is tried, tested, and proven
  • Over 2.65 Million students taught
  • Lifetime course access
  • Learn at your own pace
  • 100% satisfaction guaranteed


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

Join premium to watch
Go to premium
# Title Duration
1 Welcome! 02:57
2 Why go? 11:15
3 How to succeed 11:18
4 Course outline 07:07
5 Documentation 06:50
6 The terminal 06:52
7 Bash on windows 08:18
8 Shell / bash commands I 11:14
9 Shell / bash commands II 07:37
10 Installing Go 10:20
11 Go modules - introduction 02:54
12 Go workspace 06:10
13 Environment variables 09:08
14 Intro to IDE's 01:48
15 VS Code IDE 03:14
16 Using go get to get course code 13:50
17 IDE's 11:22
18 Go commands 15:09
19 Github repos 11:02
20 Github explored 08:35
21 Package management 06:08
22 Go modules overview 06:16
23 Creating a go module 04:53
24 Adding a dependency 04:53
25 Upgrading dependencies 03:55
26 Playground 06:20
27 Hello world 10:32
28 Introduction to packages 16:06
29 Short declaration operator 12:54
30 The var keyword 11:41
31 Exploring type 13:02
32 Zero value 04:03
33 The fmt package 09:37
34 Creating your own type 05:48
35 Conversion, not casting 06:05
36 Hands-on exercise #1 05:33
37 Hands-on exercise #2 03:12
38 Hands-on exercise #3 02:51
39 Hands-on exercise #4 05:23
40 Hands-on exercise #5 03:20
41 Hands-on exercise #6 10:30
42 Bool type 08:08
43 How computers work 21:26
44 Numeric types 15:02
45 String type 15:31
46 Numeral systems 17:51
47 Constants 03:37
48 Iota 02:48
49 Bit shifting 11:13
50 Hands-on exercise #1 01:55
51 Hands-on exercise #2 03:09
52 Hands-on exercise #3 01:14
53 Hands-on exercise #4 02:36
54 Hands-on exercise #5 00:53
55 Hands-on exercise #6 01:13
56 Understanding control flow 01:48
57 Loop - init, condition, post 04:15
58 Loop - nesting loops 03:55
59 Loop - for statement 10:23
60 Loop - break & continue 06:38
61 Loop - printing ascii 06:40
62 Conditional - if statement 07:20
63 Conditional - if, else if, else 03:11
64 Loop, conditional, modulus 03:25
65 Conditional - switch statement 08:36
66 Conditional - switch statement documentation 08:28
67 Conditional logic operators 04:00
68 Hands-on exercise #1 02:19
69 Hands-on exercise #2 02:36
70 Hands-on exercise #3 01:56
71 Hands-on exercise #4 01:12
72 Hands-on exercise #5 02:35
73 Hands-on exercise #6 01:05
74 Hands-on exercise #7 01:29
75 Hands-on exercise #8 01:26
76 Hands-on exercise #9 02:07
77 Hands-on exercise #10 05:32
78 Array 04:48
79 Slice - composite literal 05:30
80 Slice - for range 03:24
81 Slice - slicing a slice 04:35
82 Slice - append to a slice 05:18
83 Slice - deleting from a slice 04:54
84 Slice - make 09:49
85 Slice - multi-dimensional slice 03:58
86 Map - introduction 11:50
87 Map - add element & range 04:17
88 Map - delete 03:16
89 Hands-on exercise #1 02:39
90 Hands-on exercise #2 01:16
91 Hands-on exercise #3 04:01
92 Hands-on exercise #4 03:14
93 Hands-on exercise #5 02:25
94 Hands-on exercise #6 05:43
95 Hands-on exercise #7 09:14
96 Hands-on exercise #8 04:02
97 Hands-on exercise #9 01:26
98 Hands-on exercise #10 01:37
99 Struct 04:08
100 Embedded structs 05:37
101 Reading documentation 07:41
102 Anonymous structs 03:32
103 Housekeeping 18:48
104 Hands-on exercise #1 04:12
105 Hands-on exercise #2 04:09
106 Hands-on exercise #3 03:55
107 Hands-on exercise #4 03:56
108 Syntax 12:37
109 Variadic parameter 09:05
110 Unfurling a slice 13:25
111 Defer 06:14
112 Methods 07:17
113 Interfaces & polymorphism 20:15
114 Anonymous func 04:30
115 func expression 03:49
116 Returning a func 11:51
117 Callback 12:51
118 Closure 09:28
119 Recursion 09:35
120 Hands-on exercise #1 10:10
121 Hands-on exercise #2 04:06
122 Hands-on exercise #3 06:07
123 Hands-on exercise #4 05:20
124 Hands-on exercise #5 10:04
125 Hands-on exercise #6 02:07
126 Hands-on exercise #7 04:15
127 Hands-on exercise #8 02:25
128 Hands-on exercise #9 08:26
129 Hands-on exercise #10 03:13
130 What are pointers? 11:55
131 When to use pointers 08:29
132 Method sets 06:32
133 Hands-on exercise #1 01:03
134 Hands-on exercise #2 05:38
135 JSON documentation 12:13
136 JSON marshal 06:29
137 JSON unmarshal 16:15
138 Writer interface 15:38
139 Sort 05:45
140 Sort custom 10:33
141 bcrypt 12:03
142 Hands-on exercise #1 04:08
143 Hands-on exercise #2 08:01
144 Hands-on exercise #3 05:18
145 Hands-on exercise #4 01:48
146 Hands-on exercise #5 07:15
147 Concurrency vs parallelism 05:51
148 WaitGroup 12:29
149 Method sets revisited 12:02
150 Documentation 13:19
151 Race condition 12:30
152 Mutex 04:29
153 Atomic 05:45
154 Hands-on exercise #1 16:15
155 Hands-on exercise #2 11:57
156 Hands-on exercise #3 11:06
157 Hands-on exercise #4 04:43
158 Hands-on exercise #5 04:49
159 Hands-on exercise #6 05:40
160 Understanding channels 15:53
161 Directional channels 09:56
162 Using channels 06:36
163 Range 05:35
164 Select 10:29
165 Comma ok idiom 05:57
166 Fan in 07:58
167 Fan out 06:36
168 Context 14:40
169 Hands-on exercise #1 03:20
170 Hands-on exercise #2 02:37
171 Hands-on exercise #3 03:27
172 Hands-on exercise #4 06:17
173 Hands-on exercise #5 02:45
174 Hands-on exercise #6 03:08
175 Hands-on exercise #7 04:55
176 Understanding 14:43
177 Checking errors 07:05
178 Printing and logging 09:12
179 Recover 10:08
180 Errors with info 03:46
181 Hands-on exercise #1 11:54
182 Hands-on exercise #2 10:38
183 Hands-on exercise #3 06:02
184 Hands-on exercise #4 01:41
185 Hands-on exercise #5 18:27
186 Introduction 05:20
187 go doc 07:54
188 godoc 06:47
189 godoc.org 04:26
190 Writing documentation 12:05
191 Hands-on exercise #1 04:40
192 Introduction 14:15
193 Table tests 07:46
194 Example tests 09:48
195 Golint 04:46
196 Benchmark 09:27
197 Coverage 08:37
198 Benchmark examples 12:14
199 Review 12:33
200 Hands-on exercise #1 13:32
201 Hands-on exercise #2 19:06
202 Hands-on exercise #3 15:05
203 Congratulations 05:59
204 Why choose the Go programming language? 12:16
205 Hello World! 09:38
206 Section Overview 03:13
207 The Terminal 06:14
208 Installation Insights 08:49
209 Go Workspace 08:49
210 Environment Variables 06:52
211 Windows - Configuring Path Variables 08:02
212 Mac - Configuring Path Variables 10:24
213 Linux - Machine Setup 33:40
214 Linux - Machine Configuration 12:44
215 Linux - Configuring Path Variables 21:42
216 Testing Your Installation 04:33
217 Section Review 04:05
218 Section Overview 01:52
219 Go Editors 09:08
220 WebStorm & Atom.io 06:35
221 Creating Your First Project 09:04
222 Hello World with Webstorm 08:16
223 The Go Command & Documentation 05:48
224 Understanding Github 07:38
225 Using Github 14:25
226 Section Review 03:41
227 Section Overview 02:04
228 How Computers Work - Part I 09:57
229 How Computers Work - Part II 12:30
230 Github Update Command 08:56
231 Numeral Systems 04:08
232 Binary Numbering System 07:41
233 Hexadecimal Numbering System 07:09
234 Text Encoding 09:26
235 Coding Scheme Programs 09:34
236 Format Printing 09:47
237 Section Review 09:17
238 Section Overview 05:51
239 Packages 07:55
240 Go Commands 05:47
241 Variables 08:46
242 Scope 07:51
243 Scope II 10:09
244 Closure 11:16
245 Blank Identifier 04:26
246 Constants 09:03
247 Constants II 07:22
248 Words of Encouragement 03:43
249 Pointers 06:20
250 Using Pointers 07:46
251 Remainder 05:48
252 Section Review 15:04
253 Section Overview 07:05
254 For Loop 06:54
255 Nested Loops 06:24
256 Conditions, Break, & Continue 07:24
257 Documentation & Terminology 13:02
258 Rune 06:24
259 String Type 10:41
260 Switch Statements 07:28
261 If Statements 07:09
262 Exercise Solutions 14:02
263 Section Review 08:42
264 Section Overview 01:52
265 Intro To Functions 07:49
266 Func Returns 05:28
267 Variadic Functions 06:50
268 Variadic Arguments 05:08
269 Func Expressions 05:43
270 Closure 06:05
271 Callbacks 06:50
272 Callback Example 05:36
273 Recursion 05:05
274 Defer 04:21
275 Pass By Value 06:42
276 Reference Types 05:07
277 Anonymous Self-Executing Functions 01:40
278 Bool Expressions 07:24
279 Exercises - Part I 07:47
280 Exercises - Part II 06:42
281 Section Review 10:28
282 Data Structures Overview 06:08
283 Array 08:29
284 Array Examples 10:46
285 Slices 10:05
286 Slice Examples 09:39
287 More Slice Examples 06:34
288 Creating A Slice 12:44
289 Incrementing A Slice Item 05:17
290 Section Review 12:30
291 Maps Introduction 06:19
292 Map Examples - Part I 08:31
293 Map Examples - Part II 08:47
294 Map Examples - Part III 05:10
295 Map Documentation 10:44
296 Map Range Loop 03:44
297 GitHub Pull 04:09
298 Hash Tables 13:53
299 Hashing Words 10:58
300 Hashing Words II 12:06
301 Build A Hash Table 09:14
302 Finished Hash Algorithm 11:42
303 Structs Introduction 06:15
304 OOP in Go 11:38
305 User-Defined Types 10:47
306 Composition 10:29
307 JSON Marshal 11:41
308 JSON Unmarshal 03:14
309 JSON Encode 06:42
310 JSON Decode 05:36
311 Interfaces 10:25
312 Code Substitutability 12:27
313 Bill Kennedy 08:32
314 Donovan & Kernighan 11:55
315 Sort Package 10:28
316 Sort Solution 09:41
317 Sort Reverse 15:56
318 Sort Slice Int 03:36
319 Empty Interface 08:57
320 Method Sets 11:41
321 Conversion vs Assertion 10:22
322 Concurrency & WaitGroup 05:11
323 Parallelism 04:43
324 Race Conditions 04:10
325 Mutex 03:47
326 Atomicity 03:59
327 Review & Channels Preview 08:36
328 Channels - Introduction 09:31
329 Range Clause 05:37
330 N-to-1 05:23
331 Semaphores - Part 1 07:30
332 Semaphores - Part 2 01:38
333 1-to-N 04:15
334 Channels as Arguments & Returns 07:03
335 Channel Direction 05:48
336 Incrementor With Channels 06:02
337 Deadlock Challenge 07:15
338 Factorial Challenge 04:44
339 Pipeline Pattern 06:36
340 Factorial Challenge Redux 05:38
341 Factorial Challenge Redux Solution 04:39
342 Fan Out / Fan In Pattern - Overview 03:33
343 Fan In Pattern 07:04
344 Fan Out / Fan In - Example 16:21
345 Fan Out / Fan In - Challenge 01:32
346 Fan Out / Fan In - Solution 09:12
347 Fan Out / Fan In - Challenge: Factorial 02:07
348 Fan Out / Fan In - Solution: Factorial 11:23
349 Deadlock Challenge 00:43
350 Deadlock Solution 04:23
351 Incrementor Challenge Revisited 01:12
352 Incrementor Solution 05:45
353 Additional Resources 04:54
354 An Introduction to Error Handling in Go 05:42
355 Improving Your Code with Golint 05:57
356 Handling Errors & Logging Errors to a File 08:46
357 Four Common Ways to Handle Errors 05:46
358 Custom Errors - Creating Values of Type error 07:26
359 Idiomatic Error Handling 04:29
360 Providing Context with Errors 05:12
361 Providing Even More Context with Errors 07:13
362 Error Handling Review & Resources 04:48
363 Congratulations 05:59
364 Bonus lecture 05:38

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

Getting Started With Golang

Getting Started With Golang

Duration 15 hours 19 minutes 14 seconds
How to design & develop REST microservices in Golang (Go)

How to design & develop REST microservices in Golang (Go)

Duration 20 hours 26 minutes 49 seconds
Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)

Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)

Duration 1 hour 48 minutes 40 seconds
Go (Golang) Programming The Complete Go Bootcamp 2023

Go (Golang) Programming The Complete Go Bootcamp 2023

Duration 17 hours 49 minutes 29 seconds
Go Programming (Golang): The Complete Developer's Guide

Go Programming (Golang): The Complete Developer's Guide

Duration 13 hours 10 minutes 35 seconds
Golang + Lambda Masterclass [EARLY-ACCESS]

Golang + Lambda Masterclass [EARLY-ACCESS]

Duration 1 hour 41 minutes 25 seconds
Go Programming Bootcamp

Go Programming Bootcamp

Duration 15 hours 56 minutes 19 seconds