Go Recipes: Practical Projects

Go Recipes: Practical Projects

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1h 18m | 259 MB

If you’re figuring out what to make for dinner tonight, this course will not help you. However, if you’re learning the Go programming language, this course is a great resource for practical learning. Instructor Miki Tebeka walks you through common Go projects with “recipes,” or step-by-step instructions. Miki shows you some basics, such as Go slices, maps, error handling, and panic recovery. He explains how to measure, format, parse, and convert time in Go. Miki goes over ways you can work with text in Go, then demonstrates using structs, methods, and interfaces to improve your code. He discusses working with JSON and HTTP, then concludes by describing the benefits of bringing concurrent instructions to your apps.

Table of Contents

1 Recipes for practical projects with Go
2 What you should know

1. The Basics
3 Working with numbers in Go
4 Go slices
5 Working with maps in Go
6 Go error handling
7 Using defer to manage resources
8 Go panic recovery
9 Challenge Writing a filter
10 Solution Writing a filter

2. Working with Time
11 Time arithmetic
12 Measuring time
13 Formatting time
14 Parsing time
15 Time zone conversion
16 Challenge Time
17 Solution Time

3. Working with Text
18 Go string formatting
19 Working with Unicode in Go
20 Case insensitive comparisons in Go
21 Go regular expressions
22 Reading text files with Go
23 Challenge Text
24 Solution Text

4. Structs, Methods, and Interfaces
25 Go structs
26 Go methods
27 Go interfaces
28 The empty interface
29 Working with iota in Go
30 Challenge Structs, methods, and interfaces
31 Solution Structs, methods, and interfaces

5. Working with JSON
32 Unmarshalling JSON with Go
33 Parsing complex JSON with Go
34 Marshalling JSON with Go
35 Dealing with zero and missing values in Go
36 Using mapstructure to handle arbitrary JSON
37 Challenge JSON
38 Solution JSON

39 HTTP calls in Go
40 Authentication with Go
41 Writing an HTTP server in Go
42 REST with gorillamux
43 Challenge HTTP
44 Solution HTTP

7. Concurrency
45 Converting sequential code to concurrent in Go
46 Timeouts in Go
47 sync.WaitGroup
48 sync.Once
49 Using a pool of goroutines
50 syncatomic
51 Challenge Concurrency
52 Solution Concurrency

53 Next steps