Go Programming Language Crash

Master the Go Programming Language Step by Step - No previous programming experience required.

Last updated 2022-01-10 | 4.7

- Learn the core Go skills needed to apply for GO developer positions in just 10 hours.
- Have a fundamental understanding of the Go programming language.
- Understand how to create your own Go programs.

What you'll learn

Learn the core Go skills needed to apply for GO developer positions in just 10 hours.
Have a fundamental understanding of the Go programming language.
Understand how to create your own Go programs.
Have the skills and understanding of Go to confidently apply for Google Golang programming jobs.
Be able to demonstrate industry best practices in the Go programming language code you write.
Obtain a solid understanding of what debugging and refactoring is and how to do it.

* Requirements

* A Windows computer
* or a Mac with an appropriate text editor (free is fine)
* An open mind to learn something new and exciting which may make a huge difference in your future career.

Description

If you are like most people wanting to learn a programming language, you don't have much spare time.  What time you have is extremely valuable.   If you want to learn Google's GO programming language, then,  what you need is a course that will teach the essential Go programming skills quickly.

Think of a word processing program like Microsoft word - it has lots of advanced features that most people never use.   It's the same with computer programming.  A typical programming language has many parts that rarely get used, and a lot of what is taught in a typical computer course or textbook never gets used in the real world by professional developers.

So why learn it all?  It makes much more sense to learn just want you actually need to know to become productive and be then able to apply for GoLang developer positions.   If you really want to learn those other parts of the Go lang language, then you can later, and it's highly likely you will pick it up faster anyway at that point because of the skills you have already learned.

That's what this course is all about - giving you the skills you need quickly without any fluff or useless information.

The course is aimed at complete beginners.  No previous experience is necessary or assumed. If you are coming from another programming language like Java or C++, or C# then you will also feel right at home here, and you can skip any of the introductory parts if you wish.  But keep in mind there are differences in Go compared to those languages, so it's probably a good idea to watch all videos anyway.

What will you learn in the course?

You will learn about many important GO code concepts including.

  • Learn the syntax of the Go language by writing several simple text-based games

  • Learn about the difference between Object-oriented programs and Go, which uses Composition

  • Learn to think like a programmer: making decisions, looping logic, and performing calculations

  • Learn about Go’s use of goroutines, channels, and the select statement for concurrent programming

  • Learn how Go can be used to build a production-ready web application

Some of the other specific things you will work through include:-

  • How to write a Go program

  • Learn the language while building simple games

  • Learn all about the Go compiler

  • Learn best practices when writing Go code

  • Learn how to write idiomatic Go code

  • Learn how to build a terminal-based Go program

  • Learn low to build a basic web-based Go program

  • Learn how to use delve, the Go debugger, to find and fix errors in your programs

Along the way, we will work with a lot of GO example code.  We'll start with badly written code, and go through it thoroughly to improve it and make it bug-free.  This is an essential skill and you will learn that in this course.

The course uses a combination of small snippets of code, and then larger real-world projects that you can run and edit and improve - you will learn how to think like a programmer and how to make the most out of the GO programming language.

What about the instructor?

Your instructor in the course is Trevor Sawler. 

Trevor has twenty years of experience in professional software development, and twenty years of experience as a University professor.

He has worked with a broad range of clients, including Thomson Nelson, Hewlett Packard, the Royal Bank of Canada, Keybank, Sprint, and many, many others.   As a professor, Trevor has taught in a wide variety of course areas, including Computer Science, English, Irish, and American literature, and a number of "crossover" courses that bridge the liberal arts and technological fields.

What about if you have questions?

As if this course wasn’t complete enough, Trevor offers full support, answering any questions you have via the course Q&A section.

This means you’ll never find yourself stuck on one lesson for days on end. With their hand-holding guidance, you’ll progress smoothly through this course without any major roadblocks.

There’s no risk either!

This course comes with a full 30-day money-back guarantee. Meaning if you are not completely satisfied with the course or your progress, simply let the instructors know and they will refund you 100%, every last penny no questions asked.

You either end up with GO skills, go on to develop great programs and potentially make an awesome career for yourself, or you try the course and simply get all your money back if you don’t like it…

You literally can’t lose.

Ready to get started, developer?

Enrol now using the “Add to Cart” button on the right, and get started on your way to creative, advanced GO brilliance. Or, take this course for a free spin using the preview feature, so you know you’re 100% certain this course is for you.

See you on the inside (hurry, the Go class is waiting!)

Who this course is for:

  • This course is perfect for absolute beginners with no previous programming experience.
  • It's also great if you know an existing programming language like Java and want to become skilled in Go.

Course content

10 sections • 109 lectures

Introduction Preview 05:59

Why Go is an excellent choice

Installing Go Preview 01:14

Installing Go on our computer

Installing Visual Studio Code Preview 02:21

Installing an Integrated Development Environment (IDE)

Hello, World! Preview 05:24

Let's write our first Go program

Structure of a Go Program Preview 06:25

Reviewing the structure of a Go program

Variables and Dot Notation Preview 09:22

How to declare variables in Go, and how to call a function in another package

Running Eliza Preview 19:09

Making Eliza respond to user input

Introduction to Go Preview 11:07

A brief overview of the doctor package

Summary Preview 03:52

A review of what we've covered

Section 1 Quiz

Test your Knowledge

Introduction Preview 02:16

Getting started with the Go programming language

Variables Preview 05:09

Working with variables in Go

Guess the Number Game Preview 09:27

Let's use the variables we created to start working on the game

Finishing Guess the Number Preview 03:09

Writing the last bit of the Guess the Number Game

Why Use Variables? Preview 05:41

Why should be use variables? Why not just type the values in?

Guess the Number Challenge Preview 05:37

Guess the Number challenge

Scope Preview 12:20

Variables can only be accessed at certain places in our program depending on where they are declared

Scope Challenge Preview 03:30

Test your knowledge of scope for both variables and functions

Scope Challenge Solution Preview 04:33

The solution to the scope challenge

Summary Preview 02:42

A review of what we've covered

Section 2 Quiz

Test your Knowledge

Introduction Preview 01:27

What we'll cover in this section

Console Input with a Package Preview 15:08

Listen for a single key press using a third party package

Console Input Part 2 Preview 11:21

Improve our console application, and learn a new data type

Listening for keypresses in Hammer Bitcoin game Preview 10:53

See how keypress listening works in a real-world application

String Interpolation Preview 21:26

A better way of writing to the console

Experimenting with String Interpolation Preview 08:16

Working with the fmt package, and defining our own variable types

Challenge Preview 02:03

String interpolation challenge

Solution to Challenge Preview 05:52

How I solved the challenge

Summary Preview 01:10

What we covered in this section

Section 3 Quiz

Test your Knowledge

Introduction Preview 03:43

What we'll cover in this section

Basic Types Preview 07:58

int, float, string, and bool types

Aggregate Types Preview 06:41

The array and struct types

Pointers Preview 07:20

An overview of the pointer type

Slices Preview 09:44

An overview of the slice type

Maps Preview 06:28

An overview of the map type

Functions Preview 09:57

More detail on the function type

Channels Preview 10:19

An overview of the channel type

Interfaces Preview 09:24

An overview of the interface type

Expressions Preview 05:58

What is an expression?

Booleans Preview 04:46

Writing boolean expressions and tests

Compound Booleans Preview 09:45

Writing more complex boolean expressions and tests

Hammer Bitcoin Challenge Preview 05:39

Hammer Bitcoin and boolean expressions

Hammer Bitcoin Challenge Solution Preview 05:41

Solution to the challenge

Composition Preview 12:27

Composition in Go vs. Inheritance in other languages

Exported vs. Unexported Preview 15:12

More detail on exported vs unexported functions, variables, and types

Summary Preview 03:03

What we covered in this section

Section 4 Quiz

Test your Knowledge

Introduction Preview 02:31

Managing the way our program executes

Three Part Loop Preview 04:31

Executing some code a set number of times with the for loop

The While Loop in Go Preview 05:48

Executing some code while a condition is true with the for loop

The Infinite Loop in Go Preview 06:36

Executing some code forever with the for loop

Nested Loops and the Debugger Preview 08:42

Loops within loops, and a brief introduction to Go's debugger, dlv

Debugging Console Applications Preview 04:37

Setting up VS Code to debug console applications

Debugging Hammer Bitcoin Preview 06:29

Using the degubber on the Hammer Bitcoin game

for loops in Eliza Preview 08:26

Using the degugger on the Eliza game

Understanding more about Eliza Preview 08:41

Stepping through the code, and making the program terminate more nicely

The While Loop in our Menu App Preview 05:06

Improving our menu application

Solution to Challenge Preview 03:19

How I solved the challenge

Which way is better? Preview 07:07

Deciding what approach to take while coding

The do while loop in go Preview 03:59

Implementing the do while loop in Go

Summary Preview 02:38

What we covered in this section

Section 5 Quiz

Test your Knowledge

Introduction Preview 01:00

What we will cover in this section

if statement Preview 06:49

Starting a rock-paper-scissors game

else statement Preview 06:13

Improving decision making in our rock-paper-scissors game

More on if and else and introducting switch Preview 10:15

Determining who wins the rock-paper-scissors game, and an alternative to if/else

Solution to Challenge Preview 05:25

How I solved the challenge

Introducing select Preview 05:45

The select statement: decisions for channels

Using select in rock-paper-scissors Preview 25:25

Updating rock-paper-scissors to use the select statement and channels

Finishing up channels and select in rock-paper-scissors Preview 03:28

Writing the last bit of code, and a challenge

Solution to Challenge Preview 02:17

How I solved the challenge

Summary Preview 02:03

What we covered in this section

Section 6 Quiz

Test your Knowledge

Introduction Preview 01:00

What we'll cover in this section

Operators and Precedence Preview 04:11

How Go evaluates mathematical expressions

Primary Operators Preview 10:57

Doing multiplication, division and more in Go

Precedence Preview 10:22

More on how Go evaluates mathematical expressions

Using the Modulus Operator Preview 05:01

Exploring the modulus operator in more detail

Modulus in rock-paper-scissors Preview 05:58

Using the modulus operator to simplify our rock-paper-scissors game

Relational and Conditional Operators Preview 03:52

Precedence and the relational and conditional operators

Short Circuit Evaluation Preview 09:11

How short circuit (or McCarthy) evaluation works in Go

Assignment Operators Preview 03:07

A few additional assignment operators

Section 7 Quiz

Test your Knowledge

What is a string? Preview 14:36

More information about how strings are handled in Go

Indexing Preview 05:40

Learning to count from zero

String length Preview 04:07

Why the len() function and indexing are so useful

The strings package Preview 09:55

Searching for a substring in a string

String manipulation Preview 08:58

Replacing a substring in a string, string comparison, and trimming whitespace

More string manipulation Preview 10:52

Searching for and replacing a particular occurrence of a substring

Dealing with case Preview 05:12

Why managing case is important in strings, and how to do so

Solution to Challenge Preview 02:52

How I solved the challenge

Section 8 Quiz

Test your Knowledge

Introduction Preview 02:06

What we will cover in this section

Hello World web Preview 09:29

Recreating a hello world application as a web app

Serving HTML Preview 04:17

How to send HTML content a web browser

Creating the Home Page Preview 07:43

Getting started on our home page

Improving our Home Page Preview 11:05

Making our page a bit more attractive

Serving our HTML Page Preview 05:15

Connecting our HTML page to our web application

Implementing the rock, paper, scissors logic Preview 12:45

Modifying the rock, paper, scissors code for a web app

Introducing JSON Preview 10:25

How to convert a struct to something a web page can understand

Changing content using JavaScript Preview 07:32

How to update our web page in real time based on user interaction

Calling our web application from the browser Preview 04:14

Making a request from our web page to the web application

Finishing up our application Preview 06:31

Putting the finishing touches on our web application

Challenge Preview 03:28

Challenge: give the player additional feedback

Solution to Challenge Preview 04:20

How I solved the challege