Go: The Complete Developer’s Guide (Golang)

Go: The Complete Developer’s Guide (Golang)
Go: The Complete Developer’s Guide (Golang)
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 9 Hours | 1.03 GB

Master the fundamentals and advanced features of the Go Programming Language (Golang)

Go is an open source programming language created by Google. As one of the fastest growing languages in terms of popularity, its a great time to pick up the basics of Go!

This course is designed to get you up and running as fast as possible with Go. We'll quickly cover the basics, then dive into some of the more advanced features of the language. Don't be tricked by other courses that only teach you for-loops and if-statements! This is the only course on Udemy that will teach you how to use the full power of Go's concurrency model and interface type systems.

Go is designed to be easy to pick up, but tough to master. Through multiple projects, quizzes, and assignments, you'll quickly start to master the language's quirks and oddities. Go is like any other language - you have to write code to learn it! This course will give you ample opportunities to strike out on your own and start working on your own programs.

In this course you will:

  • Understand the basic syntax and control structures of the language
  • Apply Go's concurrency model to build massively parallel systems
  • Grasp the purpose of types, which is especially important if you're coming from a dynamically typed language like Javascript or Ruby
  • Organize code through the use of packages
  • Use the Go runtime to build and compile projects
  • Get insight into critical design decisions in the language
  • Gain a sense of when to use basic language features

Go is one of the fastest-growing programming languages released in the last ten years. Get job-ready with Go today by enrolling now!

Table of Contents

Getting Started
3 Environment Setup
4 VSCode Installation
5 Go Support in VSCode

A Simple Start
6 Boring Ol' Hello World
7 Five Important Questions
8 Go Packages
9 Import Statements
10 File Organization

Deeper Into Go
12 Project Overview
13 New Project Folder
14 Variable Declarations
15 Functions and Return Types
16 Slices and For Loops
17 OO Approach vs Go Approach
18 Custom Type Declarations
19 Receiver Functions
20 Creating a New Deck
21 Slice Range Syntax
22 Multiple Return Values
23 Byte Slices
24 Deck to String
25 Joining a Slice of Strings
26 Saving Data to the Hard Drive
27 Reading From the Hard Drive
28 Error Handling
29 Shuffling a Deck
30 Random Number Generation
31 Testing With Go
32 Writing Useful Tests
33 Asserting Elements in a Slice
34 Testing File IO
35 Project Review

Organizing Data With Structs
36 Structs in Go
37 Defining Structs
38 Declaring Structs
39 Updating Struct Values
40 Embedding Structs
41 Structs with Receiver Functions
42 Pass By Value
43 Structs with Pointers
44 Pointer Operations
45 Pointer Shortcut
46 Gotchas With Pointers
47 Reference vs Value Types

Maps
48 What's a Map_
49 Manipulating Maps
50 Iterating Over Maps
51 Differences Between Maps and Structs

./06 Interfaces
52 Purpose of Interfaces
53 Problems Without Interfaces
54 Interfaces in Practice
55 Rules of Interfaces
56 Extra Interface Notes
57 The HTTP Package
58 Reading the Docs
59 More Interface Syntax
60 Interface Review
61 The Reader Interface
62 More on the Reader Interface
63 Working with the Read Function
64 The Writer Interface
65 The io_Copy Function
66 The Implementation of io_Copy
67 A Custom Writer

Channels and Go Routines
68 Website Status Checker
69 Printing Site Status
70 Serial Link Checking
71 Go Routines
72 Theory of Go Routines
73 Channels
74 Channel Implementation
75 Blocking Channels
76 Receiving Messages
77 Repeating Routines
78 Alternative Loop Syntax
79 Sleeping a Routine
80 Function Literals
81 Channels Gotcha!