Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Hands-On Introduction: Go

Hands-On Introduction: Go

2h 39mIntermediate2022-11-09

Authors

Johnny Boursiquot

Johnny Boursiquot

Cloud Engineer, Community Organizer, Speaker, Trainer

Course details

If you’re looking for a practical, idiomatic way to learn the basics of the Go programming language, this course has your name written all over it—plus, it’s so simple and easy to use. Instructor Johnny Boursiquot shows you the building blocks of working directly with the Go command line and exploring the core features of its syntax to extend your workflow. Get an in-depth introduction to the key concepts you need to know to start writing professional-grade code in Go on your own, with tips on how to work with packages, primitive and composite types, flow control, interfaces, and goroutines. Along the way, learn how to tap into the Go toolchain to compile and test your code as you go, leveraging the power of concurrency synchronization using channels to communicate data between multiple goroutines at the same time.

Skills covered

GoGoogleProgramming LanguagesSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - Hands-on with Go
  • 02 - Using GitHub Codespaces with this course

1. Packages and Functions

  • 03 - Code organization with packages
  • 04 - Importing and using packages
  • 05 - Third-party packages
  • 06 - Packages and visibility
  • 07 - Functions
  • 08 - Challenge 1 - Working with packages

2. Basic Types and Variables

  • 09 - Variables, types, and scope
  • 10 - Constants
  • 11 - Type conversions
  • 12 - Pointers
  • 13 - Challenge 2 - Working with primitive types

3. Composite Types

  • 14 - Struct basics
  • 15 - Struct methods
  • 16 - Struct pointers
  • 17 - Struct embedding
  • 18 - Arrays
  • 19 - Slices
  • 20 - Maps
  • 21 - Challenge 3 - Working with composite types

4. Flow Control

  • 22 - Loops
  • 23 - Conditionals
  • 24 - Defer, panic, and recover
  • 25 - Challenge 4 - Flow control

5. Interfaces

  • 26 - Defining and implementing interfaces
  • 27 - The empty interface
  • 28 - Type assertions
  • 29 - Type switches
  • 30 - Challenge 5 - Working with interfaces

6. Generics

  • 31 - Type parameters
  • 32 - Interface constraints
  • 33 - Standard library support
  • 34 - Challenge 6 - Refactoring with generics

7. Testing

  • 35 - Writing simple tests, setup, and teardown
  • 36 - Table-driven tests
  • 37 - Benchmarking
  • 38 - Challenge 7 - Write some tests

8. Concurrency

  • 39 - Goroutines
  • 40 - Channel basics
  • 41 - Buffered channels
  • 42 - Channel ranging
  • 43 - Channel select
  • 44 - Channel non-blocking
  • 45 - Sync package
  • 46 - Challenge 8 - Goroutine synchronization

Conclusion

  • 47 - Next steps

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal