Go (Golang) Programming: The Complete Go Bootcamp 2023
What you'll learn
- Become a professional Go programmer and get hired.
- You will MASTER all Go (Golang) key concepts starting from scratch. No prior Go knowledge is required.
- For each Go key concept you'll get HD Videos, coding sections, quizzes, practice exercises with solutions and slides.
- Build a COMPLETE understanding of Go from the ground. Write idiomatic, bug-free Go code using best practices.
- Learn to work with Go control flow structures: if, for, break, continue, switch, goto, labels etc.
- Master all Go data structures in depth: arrays, slices, strings, maps, structs.
- Learn to work efficiently with pointers.
- Learn to work efficiently with files.
- Master the full power of methods and interfaces (Go OOP).
- Understand Go concurrency in depth: WaitGroups, Mutexes, Buffered and Unbuffered Channels, Select Statement and Patterns.
- Build massively concurrent programs with Goroutines and Channels.
- Hundreds of hands-on exercises with solutions and quizzes.
- Go Packages and Modules in depth
- A computer (Windows, Mac, or Linux) with an Internet connection. That's it!
- No prior Go programming knowledge is required. You will learn everything from scratch!
- PC Skills such as downloading and installing a program, opening a terminal and running basic commands etc
- Your time and enthusiasm to learn.
***Fully updated for 2023*** This Go (Golang) Programming course covers every major topic, including Pointers, Methods, and Interfaces (Go OOP), Concurrency In Depth (Goroutines, Channels, Mutexes, WaitGroups), Go Packages and Modules, and many more!
I am constantly updating the course to be the most comprehensive, yet straightforward, Go Programming course on the market!
Update: November 2022 - Updates to be 2023 ready.
Update: Summer 2022 - Updates on Go Packages
Update: November 2021 - Updates to be 2022 ready.
Closed and Exclusive Discord Community created: July 2021
Update: Summer 2020 - NEW Section: Go Packages and Modules (2 hours of videos, a complete list of commands, and a Quiz)
Update: February 2010 - NEW Section: Concurrency in Go (2 hours of videos, coding sections, a Project, and Quizzes)
Course Launch: October 2019
This course IS NOT like any other Go Programming course you can take online. By the end of this course, you will MASTER all the Golang key concepts starting from scratch and you'll be among the top Go Programmers.
This Go Programming course is a perfect match for both beginners and experienced developers!
Welcome to this practical Go Programming course for learning Go, the language created to solve "Google-size" problems.
Go (Golang) will be one of the most in-demand programming languages across the job market in the near future! Go is on a trajectory to become the Next Enterprise Programming Language. Cutting-Edge Technologies and Software are already written in Go. For example, Docker, Kubernetes, Terraform, or Ethereum are all written in Go. In addition to Google, Golang is used by Uber, Netflix, Medium, Pinterest, Slack, SoundCloud, Dropbox and many more!
By enrolling in this course now, you make the best investment in your career!
This course, taught by me, a Senior Software Engineer and Professional Trainer, is the only one you need in order to become a complete professional Go Programmer. After this course, you'll have an in-depth knowledge of core and advanced Go.
Why this Go Programming course?
This Go (Golang) course is a unique experience on Udemy. There are many other Go courses you can choose from, but this course is completely different.
For every Go language key concept, you'll get NOT ONLY a video but also:
1. Tens of quizzes.
2. Practice exercises and challenges with solutions.
3. Coding sections full of examples.
4. Slides with the main points.
5. You'll have access to my closed and exclusive online group in order to provide you with improved, faster and better support for your course-related questions. I am always available to guide you personally and answer any questions you might have.
Why should you learn from me?
I'm a Practitioner and an Enthusiast. Welcome to the real world! I have almost 20 years of experience as a Developer and Sysadmin. Since I've started with Programming and Networking in the early 2000s, I've been using or studying programming almost on a daily basis. I also have a bunch of certifications in the area of Programming or Networking.
I'm an Educator and I know how to make a Syllabus. I know exactly what is important and what's just dust in the wind. For the last 10 years, I've trained thousands of people in Programming and Networking
You'll learn not only Go Programming, but also advanced concepts for real-world projects. After this course, you'll MASTER all the Golang key concepts.
You'll have lifetime access and you can return and look for a specific concept anytime you want. And let's not forget, if you don't like the course, you are covered by a 30-day money-back guarantee, full refund, no questions asked!
The topics covered in this Complete Go (Golang) Programming Bootcamp are:
Installing Go, Git, and VSCode on Windows, Mac, and Linux
Compiling and Running Go Programs
Using Go tools like go fmt to format and write idiomatic Go code
GOPATH and Go Application Structure
Go Packages and Modules In Depth
Publish Modules on GitHub
Declarations, Variables, Constants, and Comments in Go
Constant Rules, Typed vs. Untyped Constans, IOTA
Math, Comparison and Logical Operators
Go Data Types in Depth, Zero Values, Dynamically vs. Statically Typed Languages
fmt Package: Println, Printf, Sprintf, etc
Named (Defined) Types in Go
Flow Control: if, simple if statement, for, continue, break, switch, labels, goto
Scopes in Go
Strings, Runes, Bytes, and UTF-8 in Go
Arrays in Go
Slices in Go
Maps in Go
Structs in Go
User-defined Functions, Variadic and Anonymous Functions, Defer Statement
Working with Files in Go: os, io, ioutil, bufio packages
Pointers In-Depth: Dereferencing and Address of Operators, Passing to Functions and Methods, etc
Methods (Function Receivers) and Interfaces (Go OOP): Embedded Interfaces, Empty Interface, Type Assertions, and Type Switches, etc
Concurrency in Go
Goroutine Synchronization Using WaitGroups
Data Races, Go Race Detector, and Mutexes
Goroutines and Channels
Buffered and Unbuffered Channels
Channel Select Statement
Every topic includes many live examples in Go, a coding section, tens of quizzes, slides, and many practice exercises.
By the end of this Go Programming Course, you'll also have acquired the prerequisite Go skills to move into specific branches: Network and Server Programming, Cloud and Infrastructure Programming, and Large-Scale Software Development in general.
I'll see you in the course!
Who this course is for:
- Beginners with very basic programming experience.
- Programmers switching languages to Go.
- Programmers who know Go basics and want to master Golang.
- This course should not be attended by senior Go programmers.
I've been a Network and Software Engineer for over 15 years, the typical profile of a DevOps Engineer.
I've co-founded Crystal Mind Academy, a Cisco Academy and professional training center in Romania, that focuses on teaching cutting-edge technologies to students.
I have contributed to education in the areas of programming, information security, and operating systems. During the last 15 years, more than 200,000 students have participated in in-person or online training programs at Crystal Mind Academy.
I have developed documentation, labs, and case studies for many training programs such as Cisco CCNA, CCNA Security, CCNP, Linux Administration, Information Security, Python Programming, Network Automation with Python or Blockchain Programming (Ethereum/Solidity) which have been successfully attended by thousands over the years.
When I'm not working, I crossfit, read a good book, enjoy a good time or travel with my wife and children.
The Academy’s goal is to teach hundreds of thousands of people cutting-edge technologies in the fields of Programming and Networking.
Our philosophy is that courses should be taught by real professionals with substantial experience in the industry, who are also great teachers.
Courses are provided by Andrei Dumitrescu, a software engineer with over 15 years experience in the industry and in teaching offline and online course.