Learn Programming in Go (golang): A Rich Guide for Beginners
- Description
- Curriculum
- FAQ
- Reviews
Join me on an exciting journey as we experience coding with Google’s Go (golang) programming language. Together we will learn the basics of programming as well as the ins and outs of the Go programming language.
This course is intended as a comprehensive resource for learning programming basics an concepts in general and Google’s Go (golang) programming language in particular – a comprehensive experience.
Due to its large scope, the course is equally suitable for beginners and slightly more advanced developers and it is full of examples, quizzes, hands-on exercises, solutions to that practical exercises, and a tiny code repository — accessible via Github.
When you sign up for this course, you have lifetime access to the course. You can learn at your own pace and return to content at any time for deeper insights or to learn additional concepts when you are ready.
-
This course also comes with a 100% money back guarantee.
-
I think this is one of the most comprehensive courses in English for learning the Go programming language.
-
And if for some reason the course doesn’t work for you, you can get a full refund within the first 14 days*.
Sign up now!
You can get great value from this course and, more importantly, you’ll have a great time learning one of the best programming languages ever – the Go programming language, the fastest growing programming language with the highest paid programmers in the US within the last years.
Go is an open-source programming language that makes it easy to develop simple, reliable, and efficient software.
Go was developed by computer science luminaries at one of the best, if not the best, software development companies ever – Google. The design and implementations are by Robert Griesemer, Rob Pike and Ken Thompson.
Go is a very good choice for learning a programming language because it was developed by some of the same people who created the C programming language, Unix, and UTF-8 – some of the most influential contributions to computer science. With Go Robert Griesemer, Rob Pike, and Ken Thompson created a modern programming language that can easily run on multiple processors in parallel, works smoothly in different environments, and makes it easy for programmers to write programs with a very streamlined and user-friendly syntax.
Why did Google develop a new programming language?
In Google’s words, “Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either
-
efficient compilation,
-
efficient execution, or
-
ease of programming;
all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing.
Finally, working with Go is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.“
In my humble opinion, Go is the best programming language you can learn today. I’ve worked with a few programming languages since I was introduced to programming through BASIC in the mid-80s, and Go is by far the best-designed language I’ve ever used.
Join learning one of the best programming languages ever designed. You will get knowledge, ideas, concepts, inspiration, quizzes, and code samples to learn to create software and applications yourself according to your needs.
* Check Udemy’s Terms and Conditions for details.
-
1Welcome greeting and an invitation to learnVideo lesson
Understand the importance of following the course with the necessary seriousness and of course doing the hands-on exercises. It's for you!
-
2Why Go of all things? Brief history, classification, and typification of GoVideo lesson
A brief overview why Go is one of the best programming languages to learn today.
-
3Learning notes on this courseVideo lesson
TL;DR;
Use the accompanying course overview as PDF. It is part of the the course.
Don’t skip lectures if you’re not sure you know the content.
Typing, not copying, is the path to success!
Do all the practices! Here is where all the Karate, Kung-Fu, Voodoo, Mojo, Magic, the Force & Skill take place. That is learning!
-
4Sections and content overviewVideo lesson
An brief overview over the course for you to get a first impression what awaits you.
-
5Accompanying course outline as PDF (also available on Github)Video lesson
This Course comes with a PDF which sees itself as an accompanying part of the courses.
-
6Sources of information on the web about Go from the makers/developers ans othersText lesson
A tiny collection of sources on the web which are used throughout the course.
-
7Terminals/consoles/shell/bash/command promptVideo lesson
For those who are spoiled with using Graphical User Interfaces only and who only like pushing the mouse cursor around.
-
8Bash for WindowsVideo lesson
Bash for windows is possible but with Go you do not really need it.
-
9Brief introduction to the bashVideo lesson
A very brief overview how to navigate through your OS and get connection with the shell through your keyboard.
-
10Brief introduction to the command line (cmd)Video lesson
A very brief overview how to navigate through your MS Windows and get connection with the shell through your keyboard.
-
11Installation of Go on macOS, MS Windows and LinuxVideo lesson
The title of the lecture says it all. We install Go.
-
12Environment variables (especially paths)Video lesson
It's the 20th of the 21st century - probably you will not be confronted with this but if you will find some clues here.
-
13Modern triple jump: writing, compilation, execution of Go codeVideo lesson
Your will learn the main principles how to code your program and make it run.
-
14Native Go commandsVideo lesson
Some insights how to control Go on your command line.
-
15An IDE (Integrated Development Environment) for macOS, MS Windows und LinuxVideo lesson
What is an IDE and why we need one - not right now, but later. Better have and not need than the other way round, right?
-
16Some off-topic but helpful: Brief overview over Github and how to use itVideo lesson
If you like you can organize your code on github. Try it, it's free!
-
17Let's go to the playground!Video lesson
Introduction of the Go playground as a basic source to format, compile and run some code examples
-
18Hello world, hello control flowVideo lesson
Hello world, here's Go, How are you? First contact with Go.
-
19Spoiler of packages and acquaintance with the variatic parameterVideo lesson
Even now you are introduced to the variadic parameter. Somewhere we need to start.
-
20Some Terminology and the Short Declaration OperatorVideo lesson
The Short Declaration Operator := is the Gopher - maybe.
-
21The keyword var comes with a little secretVideo lesson
Classic declaration of variables: Meet the keyword var.
-
22Types and Typing - It's all about types!Video lesson
Types are everywhere in Go. Better we get used to them.
-
23There is a value in every type: The zero value.Video lesson
Even a nothing has value: The Zero Value. In this lecture you learn what that is.
-
24The package fmt brings our code in good shapeVideo lesson
The package fmt is our friend. Let's appreciate his friendship and the dirty job it does.
-
25DIY - Provide your own type in Go!Video lesson
If you cannot find one of your type build one.
-
26Type change in Go is not only about appearance, it's conversion (not casting)Video lesson
Many strict types means to be able to convert on in another.
-
27To the Keyboards! Get ready ... Fire!Video lesson
Go starts just here!
-
28Practice 1Video lesson
-
29Practice 1 - an example solutionVideo lesson
-
30Practice 2Video lesson
-
31Practice 2 - an example solutionVideo lesson
-
32Practice 3Video lesson
-
33Practice 3 - an example solutionVideo lesson
-
34Practice 4Video lesson
-
35Practice 4 - an example solutionVideo lesson
-
36Practice 5Video lesson
-
37Practice 5 - an example solutionVideo lesson
-
38Hooray, a quiz!Quiz
A Quiz about variables, values and types in Go
-
39Practice 6 - commented quiz solutionVideo lesson
-
40The bool type: to be or not to beVideo lesson
Learn why it all boils down to yes or no.
-
41Brief inview how computers do what they doVideo lesson
Computers calculate, but what makes a computer a computer?
-
42Numeric types: Draw a number!Video lesson
Numerics types decribe more than pure true/false. They describe numbers- different kinds of numbers.
-
43Realize that: String is a type!Video lesson
String is a type and in this lecture you will learn this type is based on an arrays.
-
44Numerical systems: 2, 8, 10, 16 - binary, octal, decimal or hexadecimalVideo lesson
You know different types of numbers, now learn different systematics for numbers.
-
45Constants - the constants in life and in GoVideo lesson
Constants have special features in Go. One is that their can be untyped. Taht can help you programming.
-
46IotaVideo lesson
Learn how Iota can help you defining constants as a factor - one by one.
-
47Bit shifting: The shifting station for all that little information trains!Video lesson
After finishing this lecture you will be able to push bits und bytes around.
-
48Further notes on exercisesVideo lesson
Go, go, go!
-
49Practice 1Video lesson
-
50Practice 1 - an example solutionVideo lesson
-
51Practice 2Video lesson
-
52Practice 2 - an example solutionVideo lesson
-
53Practice 3Video lesson
-
54Practice 3 - an example solutionVideo lesson
-
55Practice 4Video lesson
-
56Practice 4 - an example solutionVideo lesson
-
57Practice 5Video lesson
-
58Practice 5 - an example solutionVideo lesson
-
59Practice 6Video lesson
-
60Practice 6 - an example solutionVideo lesson
-
61Yuppie, another quiz!Quiz
-
62Practice 7 - commented quiz solutionVideo lesson
-
63Control flow - let it flow, man!Video lesson
You learn what control flow is and how it you can manipulate it.
-
64Loops - init, cond, postVideo lesson
Learn the fundamentals of loops.
-
65Loops - they come nestedVideo lesson
You will learn how to nest a loop in a loop - or even in a loop in a loop in a loop if you like.
-
66Loops - understanding the for statement/documentationVideo lesson
Learn more about the for loop.
-
67Loops - break and continueVideo lesson
Learn how to exit a loop and how to skip a round within the loop.
-
68Loops - let's output ASCIIVideo lesson
Learn in a simple example how to make use of a for loop. We output an ASCII table.
-
69Conditionals: if - the conditional jumpVideo lesson
At an intersection you can choose your way. Learn how to do in Go.
-
70Conditionals: if, else if, else - if this, then that, otherwise what?Video lesson
You learn about alternatives under different conditions.
-
71Loops, conditionals and the moduloVideo lesson
A simple solution of conditionals makes use of the modulo operator.
-
72Conditionals: switch - a brief look into the documentationVideo lesson
A look in the documantation of the switch staement will teach you some special features.
-
73Conditionals: the switch statement in actionVideo lesson
If it comes to more complex conditionals switch shall be your first choice. Learn about the switch statement in Go!
-
74Conditionals: Logical operators ahead!Video lesson
You will learn to handle logical comparison operators in Go. Enjoy simplicity!
-
75browsh - a sneak peek at a Go programming exampleVideo lesson
You take a look at browsh - a browser frontend wirtten in Go which makes the web accesible on the command line.
External Links May Contain Affiliate Links read more