Go: The Complete Developer's Guide (Golang)

Master the fundamentals and advanced features of the Go Programming Language (Golang)

4.59 (36484 reviews)
Udemy
platform
English
language
Programming Languages
category
instructor
163,529
students
9 hours
content
Mar 2024
last update
$109.99
regular price

What you will 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

Description

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!  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!

Content

Getting Started

How to Get Help
Link to Completed Code
Environment Setup
VSCode Installation
Go Support in VSCode

A Simple Start

Boring Ol' Hello World
Five Important Questions
Go Packages
Import Statements
File Organization
Test Your Knowledge: Packages
How to Access Course Diagrams

Deeper Into Go

Project Overview
New Project Folder
Variable Declarations
Test Your Knowledge: Variable Assignment
Functions and Return Types
Test Your Knowledge: Functions
Slices and For Loops
Test Your Knowledge: Slices and For Loops
OO Approach vs Go Approach
Custom Type Declarations
Receiver Functions
Test Your Knowledge: Functions with Receivers
Creating a New Deck
Slice Range Syntax
Multiple Return Values
Test Your Knowledge: Multiple Return Values
Byte Slices
Deck to String
Joining a Slice of Strings
Saving Data to the Hard Drive
Reading From the Hard Drive
Error Handling
Shuffling a Deck
Random Number Generation
Testing With Go
Writing Useful Tests
Asserting Elements in a Slice
Testing File IO
Project Review

Organizing Data With Structs

Structs in Go
Defining Structs
Declaring Structs
Updating Struct Values
Embedding Structs
Structs with Receiver Functions
Pass By Value
Structs with Pointers
Pointer Operations
Pointer Shortcut
Gotchas With Pointers
Test Your Knowledge: Pointers
Reference vs Value Types
Test Your Knowledge: Value vs Reference Types

Maps

What's a Map?
Manipulating Maps
Iterating Over Maps
Differences Between Maps and Structs
Test Your Knowledge: Maps

Interfaces

Purpose of Interfaces
Problems Without Interfaces
Interfaces in Practice
Rules of Interfaces
Extra Interface Notes
The HTTP Package
Reading the Docs
More Interface Syntax
Interface Review
The Reader Interface
More on the Reader Interface
Working with the Read Function
The Writer Interface
The io.Copy Function
The Implementation of io.Copy
A Custom Writer
Test Your Knowledge: Interfaces

Channels and Go Routines

Website Status Checker
Printing Site Status
Serial Link Checking
Go Routines
Theory of Go Routines
Channels
Channel Implementation
Blocking Channels
Receiving Messages
Repeating Routines
Alternative Loop Syntax
Sleeping a Routine
Function Literals
Channels Gotcha!
Channels and Go Routines

Extras

Bonus!

Screenshots

Go: The Complete Developer's Guide (Golang) - Screenshot_01Go: The Complete Developer's Guide (Golang) - Screenshot_02Go: The Complete Developer's Guide (Golang) - Screenshot_03Go: The Complete Developer's Guide (Golang) - Screenshot_04

Reviews

Rokas
November 9, 2023
The course covers the most basic stuff from the Go. It's good for the newbies, but the ones who are looking in depth guide - I would suggest to look for other courses. Missing sections on: - what are go.mod and go.sum files. Dependency management in general - how to handle errors and what are best practices in big projects - compiling Go code for different platforms - best practices to structure your Go project - more on-hands exercises (both: implementation and testing)
Brock
November 9, 2023
I actually wound up diving into go before taking this course, but the explanation of interfaces, a topic i was familiar with but not super comfortable with, has been dealt with in a logical, easy to understand, and practical manner (not just "an interface is x", but "and interface is x, and is useful in y situation"
Filip
November 8, 2023
In my opinion the course is too brief. I would personally include more examples, assignments and small projects as these help a lot with learning any programming language.
Kavinraj
November 5, 2023
It is a good course to get started with Go. Establishes the foundation for understanding and working with Go, but would like like a little more real world applications/exercises and what to apply to each scenario.
Pius
November 3, 2023
This is my second course from Stephen. once again, a great course! Good explanation, good examples, good images help me to understand, good quiz questions that really made me to try experimenting. Thank you Stephen.
Matthew
November 3, 2023
Fantastic course. Takes a careful approach and explains things well. Coming from years with other programming languages I already understood a lot of the concepts that lectures explain. The explanations were good. I took the course as I needed to know and understand GoLang. This has helped a lot. If I could add or change anything, one additional section covering an application of GoLang that was more realistic, such as putting together an API using Go Routines after, or something similar, might be good. But all in all, really good course.
Sergey
November 2, 2023
It is an excellent overview course through GO with a good explanation of the tricky parts. If you rush to go into GO, this course is a good choice!
Corwin
October 30, 2023
Great instructor and does an awesome job of simplifying pointers, interfaces, and concurrency with hands-on coding!
Jose
October 30, 2023
This was a nice course, but this lacks some of the features that were expected to be built in a web development course. The main feature that was lacking was a focused practical application for web development, like building an api.
Alexandria
October 26, 2023
I thought this course was really thought out. You definitely need some knowledge around the fundamentals of OOP, and basics you can learn from any other coding language. That being said there is a lot of key concepts in this course that definitely just skimmed the surface but it does give a very good general overview. Just a note too that some of the functions are no longer in use as per the Go docs (example being using os instead of ioutil).
Stan
October 26, 2023
Excellent course. Much of the information cannot be found on YouTube or anywhere else (except, perhaps, formal books). I wish this instructor made even more GO material.
Alvaro
October 21, 2023
This is, if not the best, one of the best classes I have evert taken. The delivery is just perfect and the material and examples make sense all the way through.
Roger
October 19, 2023
This is a perfect course for someone like me who has tons of experience with C (or other language(s) such as Java, Python, etc), and needed to come up to speed with Go. While I appreciate other programming courses that start with "this is a variable", "this is a loop", etc, this instructor assumes you already have a decent grasp of programming - hence the relatively short course compared to others that can run 40+ hours in length. Working full time and with other responsibilities, I was able to complete this course in under two weeks.. Well done. I can wholeheartedly endorse this course.
Ubeydullah
October 18, 2023
This course is well structured. The instruction is super clear. Suitable for junior developers. The only problem that I had with it is that the content is not very "real life" like, meaning, even though it teaches you important concepts, it is not necessarily the kind of knowledge that you need on your first day of work as junior dev. But, if you aware of this and you are fine with gaining some understanding of the theory of Go, then this course is awesome. The instructor is very knowledgable and good at simplifying hard concepts.
Mickey
October 18, 2023
Pretty solid lectures, which cover a lot of topics. Seems a little bit outdated, since it doesn't cover everything. But still good enough to get started and you'll dive into some advanced topics as well. Worth it's money.

Charts

Price

Go: The Complete Developer's Guide (Golang) - Price chart

Rating

Go: The Complete Developer's Guide (Golang) - Ratings chart

Enrollment distribution

Go: The Complete Developer's Guide (Golang) - Distribution chart
1309202
udemy ID
7/31/2017
course created date
11/20/2019
course indexed date
Bot
course submited by