Go Essential Training

Go Essential Training

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 45m | 312 MB

Go is an open-source programming language created by Google, prized for its concurrency and connectivity. Using Go, developers can build modern applications that can save companies money on backend resources. This course is designed to help developers be productive with Go, starting with the essentials of the syntax. Learn the basics of Go basic types such as numbers and strings; working with conditionals and loops; creating object-oriented code with structs and methods; and handling errors. Instructor Miki Tebeka also emphasizes the concurrency features such as goroutines and channels, and connectivity features for networking with APIs and databases. For the final project, Mika shows you how to build a highly concurrent server that combines everything you’ve learned into one elegant solution powered by Go.

Table of Contents

Introduction
1 Go for modern applications
2 What you should know

Getting Started
3 Setting up your work environment
4 Anatomy of a Go program
5 The Go tool

Go Basics
6 Numbers and assignments
7 Conditionals
8 For loops
9 Challenge FizzBuzz
10 Solution FizzBuzz
11 Strings
12 Challenge Even-ended numbers
13 Solution Even-ended numbers
14 Slices
15 Challenge Find the maximal value
16 Solution Find the maximal value
17 Maps
18 Challenge Maps
19 Solution Maps

Functions
20 Defining a function
21 Parameter passing
22 Error return
23 Defer
24 Challenge Write a function
25 Solution Write a function

Object-Oriented
26 Structs
27 Methods
28 Creating structs with New function
29 Challenge Structs
30 Solution Structs
31 Interfaces
32 Challenge Interfaces
33 Solution Interfaces
34 Generics

Error Handling
35 pkgerrors
36 Panic and recover
37 Challenge Server kill
38 Solution Server kill

Concurrency
39 Goroutines
40 Channels
41 Challenge Channels
42 Solution Channels
43 Select
44 Context
45 Challenge Download size
46 Solution Download size

Project Management
47 Manage requirements
48 Testing
49 testify
50 Challenge Testing
51 Solution Testing
52 Benchmarking and profiling

Networking
53 JSON
54 HTTP calls
55 Timeouts & Size Limit
56 Challenge Call the GitHub API
57 Solution Call the GitHub API
58 HTTP server
59 Challenge Key-value database
60 Solution Key-value database

Conclusion
61 Next steps

Homepage