Go is an Open Source Programming Language that makes easy to learn, simple, reliable, and efficient software.This course will introduce the fundamentals of programming in the Go Language. Go is a language suitable for a wide variety of tasks, from systems programming to writing web servers. 

Go Lang Stack Course Overview

1.Introduction

Valuable Resources

Why choose the Go programming language?

Hello World

2.Installing Go 

Section Overview

The Terminal

Installation Insights

Go Workspace

Environment Variables

Windows - Configuring Path Variables

Mac - Configuring Path Variables

Linux - Machine Setup

Linux - Machine Configuration

Linux - Configuring Path Variables

Testing Your Installation

3.Your Development Environment

Go Editors

WebStorm & Atom.io

Creating Your First Project

The Go Command & Documentation

Understanding Github

Using Github

4.Computer Fundamentals

How Computers Work

Github Update Command

Numeral Systems

Binary Numbering System

Hexadecimal Numbering System

Text Encoding

Coding Scheme Programs

Format Printing

5.Language Fundamentals

Packages

Go Commands

Variables

Scope

Scope II

Closure

Language Spec

Blank Identifier

Constants

Words of Encouragement

Memory Addresses

Pointers

Using Pointers

Remainder

6.Control Flow

For Loop

Nested Loops

Conditions, Break, & Continue

Documentation & Terminology

Rune

String Type

Switch,If Statements

7.Functions

Intro To Functions

Func Returns

Func Expressions

Callbacks

Callback Example

Recursion

Pass By Value

Reference Types

Anonymous Self-Executing Functions

Bool Expressions

8.Data Structures - Array,slice,struct

Data Structures Overview

Array

Slices

Creating A Slice

Incrementing A Slice Item

Structs Introduction

OOP in Go

User-Defined Types

Composition

JSON Marshal

JSON Unmarshal

JSON Encode ,JSON Decode

9.Interfaces

Interfaces Introduction

Code Substitutability

Bill Kennedy

Sort Package,Sort Solution,Sort Reverse

Sort Slice Int

Empty Interface

Method Sets

Conversion vs Assertion

10.Concurrency,Maps

Concurrency & WaitGroup

Parallelism

Race Conditions

Mutex

Atomicity

Maps Introduction

Map Documentation

Hash Tables ,Map Range Loop

Build A Hash Table

Error Handling

An Introduction to Error Handling in Go

Handling Errors & Logging Errors to a File

Improving Your Code with Golint

Four Common Ways to Handle Errors

Custom Errors - Creating Values of Type error

Idiomatic Error Handling

Providing Context with Errors

Providing Even More Context with Errors

Error Handling Review & Resources

11.Facility to work with clients on live (real) projects.