Master Go (Golang) Programming:The Complete Go Bootcamp 2022

Master Go (Golang) Programming:The Complete Go Bootcamp 2022

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 209 lectures (14h 34m) | 3.45 GB

Google’s Go (Golang) from Beginner to Pro. Become a Professional Golang Programmer from Scratch.With Hands-On Exercises!

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

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. In addition to Google, Golang is used by Uber, Netflix, Medium, Pinterest, Slack, SoundCloud, Dropbox and so many more!

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
  • Converting Types
  • fmt Package: Println, Printf, Sprintf, etc
  • Named (Defined) Types in Go
  • Alias Declarations
  • Flow Control: if, simple if statement, for, continue, break, switch, labels, goto
  • Scopes in Go
  • Strings, Runes, Bytes, and UTF-8 in Go
  • strings Package
  • 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
  • Error Handling
  • 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
  • Course Bonuses

Every topic includes many live examples in Go, a coding section, tens of quizzes, slides, and many practice exercises.

At 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, Large-Scale Software Development in general.

If you want to take ONE COURSE to master Go (Golang) Programming you should choose this one and you’ll have no regrets!

Table of Contents

Course Introduction
1 Why Go Programming Why now
2 IMPORTANT. Please read!
3 How to Get the Most Out of This Course
4 Join Our Online Community!

Getting Started
5 The Go Playground. Your First Go Program
6 Setup the Programming Environment on Windows (Go, Git and VSCode)
7 Setup the Programming Environment on Linux (Go and VSCode)
8 Setup the Programming Environment on macOS (Go, Git and VSCode)
9 GOPATH and Code Organization
10 Go Application Structure
11 Coding – Go Application Structure
12 Compiling (go build) and Running Go Applications (go run)
13 Go Packages and Modules
14 Formatting Go Source Code (gofmt)

Challenge Hands-On Exercises – Getting Started
15 Hands-On Exercices

Go Basics
16 Variables in Go
17 Multiple Declarations
18 Coding – Variables and Declarations
19 Types and Zero Values
20 Coding – Types and Zero Values
22 Naming Conventions in Go
23 Coding – Comments and Naming Convention
24 Package fmt
25 Coding – Package fmt
26 Constants in Go
27 Constant Rules
28 Constant Expressions. Typed vs. Untyped Constants
30 Coding – Constants and IOTA
31 Go Data Types – Part 1
32 Go Data Types – Part 2
33 Coding – Go Data Types
34 Operations on Types Arithmetic and Assignment Operators
35 Comparison and Logical Operators
36 Coding – Go Operators
37 Overflows
38 Converting Numeric Types
39 Converting Numbers to Strings and Strings to Numbers
40 Coding – Converting Types
41 Defined (Named) Types – part 1
42 Defined (Named) Types – part 2
43 Coding – Defined Types
44 Alias Declarations
45 Coding – Aliases

Coding Challenges – Go Basics
46 Declare Variables
47 Constant
48 Package fmt
49 Operators and Conversions
50 Named Types and Aliases

Program Flow Control in Go
51 If, Else If and Else Statements
52 Coding – If, Else If and Else
53 Command Line Arguments os.Args
54 Coding – Command Line Arguments
55 Simple If Statement
56 Coding – Simple If
57 For Loops
58 Where is the While Loop in Go
59 Coding – For Loops
60 For and Continue Statements
61 For and Break Statements
62 Coding – For, Break and Continue
63 Label Statement
64 Goto
65 Coding – Labels and Goto Statements
66 Switch Statement
67 Coding – Switch Statement
68 Scopes in Go
69 Coding – Scopes

Coding Challenges – Flow Control
70 Coding Challenge Exercises – Flow Control

Arrays in Go
71 Intro to Arrays
72 Declaring Arrays
73 Array Operations
74 Coding – Declaring Arrays and Operations
75 Arrays with Keyed Elements
76 Coding – Arrays with Keyed Elements

Coding Challenges – Arrays
77 Array Coding Exercises

Slices in Go
78 Intro to Slices
79 Declaring Slices and Basic Slice Operations
80 Comparing Slices
81 Coding – Slice Basics
82 Appending to a Slice. Copying Slices
83 Slice Expressions
84 Coding – Slice Expressions
85 Slice Internals Backing Array and Slice Header -part 1
86 Slice Internals Backing Array and Slice Header – part 2
87 Coding – Slice’s Backing Array
88 Append, Length and Capacity In-Depth
89 Coding – Appending to Slices

Coding Challenges – Slices
90 Coding Challenge Exercises – Slices

Strings, Runes, Bytes and UTF-8 in Go
91 Intro to Strings
92 Coding – String Basics
93 Intro to Runes, Bytes and Unicode Code Points
94 Coding Runes and Strings. Decoding Strings Byte by Byte and Rune by Rune
95 String Length in Bytes and Runes
96 Coding – Strings, Runes and Decoding
97 Slicing Strings
98 Coding – Slicing Strings
99 Strings Package Part1 Contains, ContainsAny, Count, ToLower, ToUpper, EqualFold
100 Strings Package Part2. Manipulating Strings Repeat, Replace, Split, Join, Field
101 Coding – Strings Package

Coding Challenges – Strings
102 Coding Challenge Exercises – Strings

Maps in Go
103 Intro to Maps
104 Declaring Maps, Working with Maps
105 Comparing Maps
106 Map Header. Cloning Maps
107 Coding – Maps in Go

Coding Challenges -Maps
108 Coding Challenge Exercises – Maps

Working with Files in Go
109 Open, Close, Rename, Move, Remove Files
110 Coding – Operations on Files
111 Writing Bytes to File os.Write and ioutil.WriteFile
112 Coding – Writing to Files Using os and ioutil
113 Writing to Files using a Buffered Writer (bufio Package)
114 Coding – Writing to Files Using a Buffer in Memory
115 Reading n Bytes from a File. Reading a File using a Buffered Reader
116 Coding – Reading Bytes from Files
117 Reading a File Line by Line Using a Scanner
118 Coding – Reading Files Using a Delimiter
119 Scanning for User Input. Reading From Stdin
120 Coding – Reading from Console

Coding Challenges – Working with Files
121 Coding Exercises – Working with Files

Structs in Go
122 Organizing Data with Structs
123 Creating Structs
124 Retrieving and Updating Struct Fields
125 Coding – Working with Structs
126 Anonymous Structs and Anonymous Struct Fields
127 Embedded Structs
128 Coding – Anonymous and Embedded Structs

Coding Challenges – Structs
129 Coding Challenge Exercises – Structs

Functions in Go
130 Intro to Functions
131 Function Parameters, Arguments and Return Values
132 Coding – Function Basics
133 Variadic Functions – Part 1
134 Variadic Functions – Part 2
135 Coding – Variadic Functions
136 Defer Statement
137 Coding – Defer Statement
138 Anonymous Functions
139 Coding – Anonymous Functions

Coding Challenges – Functions
140 Coding Challenge Exercises – Functions

Pointers in Go
141 Computer Memory and Pointers
142 Declaring Pointers. Address of and Dereferencing Operators
143 Pointer to Pointer. Comparing Pointers
144 Coding – Pointer Basics
145 Passing and Returning Pointers From Functions – Part 1
146 Passing Pointers to Functions. Passing by Value vs. Passing by Pointer – Part 2
147 Coding – Passing Values and Pointers to Functions

Coding Challenges – Pointers
148 Coding Challenge Exercises – Pointers

Methods and Interfaces in Go (OOP)
149 Receiver Functions (Methods)
150 Coding – Intro to Methods
151 Methods with a Pointer Receiver
152 Coding – Methods with a Pointer Receiver
153 Intro to Interfaces
154 Implementing Interfaces
155 Coding – Implementing Interfaces
156 Interface Dynamic Type and Polymorphism
157 Type Assertions and Type Switches
158 Coding – Type Assertions
159 Embedded Interfaces
160 Empty Interface
161 Coding – Empty Interface

Coding Challenges – Methods and Interfaces
162 Coding Challenge Exercises – Methods
163 Coding Challenge Exercises – Interfaces

Concurrency in Go
164 Concurrency vs. Parallelism
165 Intro to Goroutines
166 Spawning Goroutines. The go Keyword
167 Coding – Getting Information
168 WaitGroups
169 Coding – Goroutines and WaitGroups
170 Project URL Checker and Page Downloader
171 Project Refactoring Using WaitGroups URL Checker and Page Downloader
172 Data Race
173 Go Race Detector
174 Coding – Data Race
175 Mutexes
176 Coding – Mutexes
177 Intro to Channels
178 Coding – Intro to Channels
179 Goroutines and Channels
180 Goroutines, Channels and Anonymous Function
181 Coding – Goroutines and Channels
182 Project Refactoring Using Channels URL Checker and Page Downloader
183 Project Refactoring Using Channels and Anonymous Function
184 Unbuffered Channels
185 Coding – Unbuffered Channels
186 Buffered Channels
187 Coding – Buffered Channels
188 Select Statement
189 Coding – Select Statement

Coding Challenges – Concurrency
190 Coding Challenge Exercises – Goroutines, WaitGroups and Mutexes
191 Coding Challenge Exercises – Goroutines and Channels

Go Packages and Modules
192 Go Packages Overview
193 Creating a Package
194 GOPATH and Packages In Depth
195 Exporting Names. Private vs. Private Access
196 Import Statement and Scopes
197 The Init function
198 Go Modules Overview
199 Importing and Using Go Modules
200 Creating Your Own Go Module
201 Publish the Module on GitHub. Semantic Versioning
202 Commands – Create and Publish a Module on GitHub
203 Releasing a Bug Fix and a Minor Update
204 Releasing a Major Update
205 Using Multi-Version Dependency

Challenge Hands-On Exercises – Packages and Modules
206 Hands-On Exercises

Contents to Come in 2021!
207 New Content to be Added

Course Completion
208 Congratulations