Go: The Complete Developer's Guide (Golang)
Go is an open source programming language created by Google. As one of the fastest growing languages in terms of popularity, its a great time to pick up the basics of Go! This course is designed to get you up and running as fast as possible with Go. We'll quickly cover the basics, then dive into some of the more advanced features of the language. Don't be tricked by other courses that only teach you for-loops and if-statements!
More
This is the only course on Udemy that will teach you how to use the full power of Go's concurrency model and interface type systems. Go is designed to be easy to pick up, but tough to master. Through multiple projects, quizzes, and assignments, you'll quickly start to master the language's quirks and oddities. Go is like any other language - you have to write code to learn it! This course will give you ample opportunities to strike out on your own and start working on your own programs.
In this course you will:
- Understand the basic syntax and control structures of the language
- Apply Go's concurrency model to build massively parallel systems
- Grasp the purpose of types, which is especially important if you're coming from a dynamically typed language like Javascript or Ruby
- Organize code through the use of packages
- Use the Go runtime to build and compile projects
- Get insight into critical design decisions in the language
- Gain a sense of when to use basic language features
Go is one of the fastest-growing programming languages released in the last ten years. Get job-ready with Go today by enrolling now!
- Solid experience with another programming language - Javascript, Python, Ruby, Java, or similar
- Anyone who wants to understand the fundamental features of Go
What you'll learn:
- Build massively concurrent programs with Go Routines and Channels
- Learn the advanced features of Go
- Understand the differences between commonly used data structures
- Prove your knowledge with dozens of included quiz questions
- Apply Interfaces to dramatically simplify complex programs
- Use types to future-proof your code and reduce the difficulty of refactors
Watch Online Go: The Complete Developer's Guide (Golang)
# | Title | Duration |
---|---|---|
1 | Environment Setup | 02:56 |
2 | VSCode Installation | 02:47 |
3 | Go Support in VSCode | 03:23 |
4 | Boring Ol' Hello World | 03:12 |
5 | Five Important Questions | 06:17 |
6 | Go Packages | 06:11 |
7 | Import Statements | 03:59 |
8 | File Organization | 03:35 |
9 | Project Overview | 02:32 |
10 | New Project Folder | 01:56 |
11 | Variable Declarations | 10:41 |
12 | Functions and Return Types | 07:43 |
13 | Slices and For Loops | 10:50 |
14 | OO Approach vs Go Approach | 04:34 |
15 | Custom Type Declarations | 06:41 |
16 | Receiver Functions | 06:17 |
17 | Creating a New Deck | 10:58 |
18 | Slice Range Syntax | 05:57 |
19 | Multiple Return Values | 08:12 |
20 | Byte Slices | 07:00 |
21 | Deck to String | 07:27 |
22 | Joining a Slice of Strings | 06:37 |
23 | Saving Data to the Hard Drive | 07:03 |
24 | Reading From the Hard Drive | 11:19 |
25 | Error Handling | 07:53 |
26 | Shuffling a Deck | 09:43 |
27 | Random Number Generation | 10:31 |
28 | Testing With Go | 03:41 |
29 | Writing Useful Tests | 12:04 |
30 | Asserting Elements in a Slice | 04:23 |
31 | Testing File IO | 09:53 |
32 | Project Review | 06:18 |
33 | Structs in Go | 04:44 |
34 | Defining Structs | 03:55 |
35 | Declaring Structs | 04:52 |
36 | Updating Struct Values | 05:37 |
37 | Embedding Structs | 06:31 |
38 | Structs with Receiver Functions | 07:27 |
39 | Pass By Value | 05:53 |
40 | Structs with Pointers | 03:13 |
41 | Pointer Operations | 10:14 |
42 | Pointer Shortcut | 06:27 |
43 | Gotchas With Pointers | 04:10 |
44 | Reference vs Value Types | 07:39 |
45 | What's a Map? | 05:48 |
46 | Manipulating Maps | 04:56 |
47 | Iterating Over Maps | 05:17 |
48 | Differences Between Maps and Structs | 05:55 |
49 | Purpose of Interfaces | 09:26 |
50 | Problems Without Interfaces | 10:15 |
51 | Interfaces in Practice | 09:17 |
52 | Rules of Interfaces | 07:49 |
53 | Extra Interface Notes | 06:59 |
54 | The HTTP Package | 08:00 |
55 | Reading the Docs | 05:36 |
56 | More Interface Syntax | 03:14 |
57 | Interface Review | 01:54 |
58 | The Reader Interface | 08:18 |
59 | More on the Reader Interface | 07:24 |
60 | Working with the Read Function | 05:39 |
61 | The Writer Interface | 04:16 |
62 | The io.Copy Function | 05:13 |
63 | The Implementation of io.Copy | 04:34 |
64 | A Custom Writer | 07:57 |
65 | Website Status Checker | 05:29 |
66 | Printing Site Status | 04:33 |
67 | Serial Link Checking | 03:28 |
68 | Go Routines | 07:13 |
69 | Theory of Go Routines | 08:42 |
70 | Channels | 06:10 |
71 | Channel Implementation | 09:17 |
72 | Blocking Channels | 09:56 |
73 | Receiving Messages | 03:33 |
74 | Repeating Routines | 06:46 |
75 | Alternative Loop Syntax | 03:59 |
76 | Sleeping a Routine | 06:15 |
77 | Function Literals | 04:49 |
78 | Channels Gotcha! | 10:33 |