4.78 out of 5
4.78
412 reviews on Udemy

Go – The Complete Guide

Learn Go ("Golang") from the ground up & in great depth by building multiple demo projects, incl. a REST API
Instructor:
Maximilian Schwarzmüller
4,904 students enrolled
English [CC]
Learn Go from the ground up & in great depth
Learn about values, variables, functions, pointers, packages & more
Learn how to structure and store data with structs, arrays, slices & maps
Work with Go's concurrency features like Goroutines & channels
Build multiple demo projects
Build a REST API with authentication & a SQL database as a major course project
Join more than 2,500,000 students who've been taught by me across all my courses

Unleash Your Potential – with Go and this course!

Welcome to “Go – The Complete Guide,” the definitive online course meticulously designed for both newcomers and professionals eager to excel in the dynamic realm of Go programming.

Why Go?

In an era where efficiency and performance are paramount, Go stands out as a powerhouse. Designed by Google, it combines simplicity, robustness, and speed, making it the go-to language for modern backend development, cloud services, and high-performance applications.

Course Overview

This course is your comprehensive journey through the world of Go. From basic syntax to advanced features, this course covers every aspect needed to master Go.

Here’s what you’ll learn:

  1. Go Fundamentals: Dive deep into Go syntax, variables, types, and control structures.

  2. Concurrent Programming: Unravel the power of Go’s concurrency model with goroutines and channels.

  3. Complex Data Structures: Master arrays, slices, maps, and struct types for efficient data manipulation.

  4. Advanced Features: Explore interfaces, error handling, and package management.

  5. Real-World Applications: Build practical, real-world applications to consolidate your learning.

  6. Optimization Techniques: Learn best practices and optimization techniques for writing efficient Go code.

In this course, you’ll learn about all those core Go concepts by building multiple demo projects – including a complete REST API with user authentication & SQL database access!

Who Should Enroll?

This course is tailored for:

  • Developers looking to add a powerful language to their toolkit.

  • Backend engineers aspiring to build scalable, high-performance applications.

  • Professionals seeking a deep, practical understanding of Go.

Why Choose This Course?

  • Expert Instruction: Learn from an experienced Go developer & bestselling online course instructor.

  • Flexible Learning: Access the course anytime, anywhere, at your pace.

  • Demo Projects: Apply your knowledge by building multiple demo projects – e.g., a complete REST API

  • Certificate of Completion: Earn a certificate to showcase your newfound Go expertise.

Ready to Go?

Embark on your journey to mastering Go. Enroll now and transform your career with the power of Go programming.

Getting Started

1
Welcome To The Course!
2
What Is Go? And Why Is It Awesome?
3
Installing Go (Alternative: Web-based Setup)
4
Local Code Editor Setup For Go Development
5
Writing a First Go Program
6
About The Course & Course Content
7
How To Get The Most Out Of This Course
8
Join Our Learning Community

Go Essentials

1
Module Introduction
2
Working with Functions & Values
3
Organizing Code with Packages
4
The Important Of The Name "main"
5
Understanding Go Modules & Building Go Programs
6
The "main" Function Is Important!
7
Onwards To A New Project
8
Working with Variables, Values & Operators
9
Understanding Value Types
10
Go Types & Null Values
11
Outputting Values
12
Type Conversions & Explicit Type Assignment
13
Using Alternative Variable Declaration Styles
14
Making Sense of Constant Values ("Constants")
15
Understanding the Importance Of Variables
16
Improved User Input Fetching
17
fmt.Scan() Limitations
18
Exercise: Building a Profit Calculator
19
Exercise Solution
20
Formatting Strings (Text) - Basics
21
Formatting Floats in Strings
22
Creating Formatted Strings
23
Building Multiline Strings
24
Understanding Functions
25
Functions: Return Values & Variable Scope
26
An Alternative Return Value Syntax
27
Exercise: Working with Functions
28
Onwards to Control Structures
29
Introducing "if" Statements & Booleans
30
Working with "else if"
31
Exercise: "if" Statements
32
Using "else"
33
Nested "if" Statements & Using "return" To Stop Function Execution
34
Repeating Code With "for" Loops
35
Infinite Loops, "break" & "continue"
36
Conditional For Loops
37
Making Sense of "switch" Statements
38
Writing To Files
39
Reading From Files
40
Handling Errors
41
Time to Panic!
42
Section Exercise - The Task
43
Section Exercise - Solution
44
Module Summary

Working with Packages

1
Module Introduction
2
Splitting Code Across Files In The Same Package
3
Why Would You Use More Than One Package?
4
Preparing Code For Multiple Packages
5
Splitting Code Across Multiple Packages
6
Importing Packages
7
Exporting & Importing Identifiers (Variables, Functions & More)
8
Using Third-Party Packages
9
Module Summary

Understanding Pointers

1
Module Introduction
2
Understanding Pointers
3
Writing Code Without Pointers
4
Creating a Pointer
5
Pointers as Values
6
A Pointer's Null Value
7
Using Pointers & Passing Pointers To Functions
8
Using Pointers For Data Mutation
9
Example: The Scan() Function Uses Pointers
10
Module Summary

Structs & Custom Types

1
Module Introduction
2
The Starting Project
3
Which Problem Do Structs Solve?
4
Defining A Struct Type
5
Instantiating Structs & Struct Literal Notation
6
Alternative Struct Literal Notation & Struct Null Values
7
Passing Struct Values As Arguments
8
Structs & Pointers
9
Introducing Methods
10
Mutation Methods
11
Using Creation / Constructor Functions
12
Using Constructor Functions For Validation
13
Structs, Packages & Exports
14
Exposing Methods & A Different Constructor Function Name
15
Struct Embedding
16
Structs - A Summary
17
Creating Other Custom Types & Adding Methods
18
Practice Project: Getting User Input
19
Practice Project: Creating a Struct & Constructor Function
20
Practice Project: Adding a Method
21
Practice Project: Handling Long User Input Text
22
Practice Project: Preparing Save To File Functionality
23
Practice Project: Encoding JSON Content
24
Practice Project: Fixes
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.8
4.8 out of 5
412 Ratings

Detailed Rating

Stars 5
276
Stars 4
93
Stars 3
10
Stars 2
0
Stars 1
0