Course Catalog
Go 101 - Golang Essentials
Code: Go (Golang)
Duration: 5 Day
$2395 USD

OVERVIEW

Go is designed to be concise, clean, and efficient. It is easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the feel of a dynamically typed, interpreted language.

In this very hands-on 5-day class, particularly relevant for system admins, network, cloud, or storage engineers, you’ll learn how to use Go to craft enterprise solutions.

DELIVERY FORMAT

This course is available in the following formats:

Virtual Classroom

Duration: 5 Day
Classroom

Duration: 5 Day

CLASS SCHEDULE

Delivery Format: Virtual Classroom
Date: Jun 03 2024 - Jun 07 2024 | 10:00 - 18:00 EST
Location: Online
Course Length: 5 Day

$ 2395

Delivery Format: Virtual Classroom
Date: Sep 16 2024 - Sep 20 2024 | 10:00 - 18:00 EST
Location: Online
Course Length: 5 Day

$ 2395

GOALS
  • Current Go Standard Library
  • Relevant networking libraries
  • Version control with git
  • Git integration with popular SCM (GitHub)
  • Executing system commands
  • Parsing and building files
  • Consuming RESTful APIs with Go
  • Creating a RESTful API with Go
  • Parsing JSON
  • Parsing XML files
  • Building a simple web app with Go
  • Containerizing Go Apps with Docker
  • Interaction with databases
  • Project structure best practice techniques
OUTLINE

  1. Up and Running with Go
    • Install Go
    • Lecture - Go IDEs
    • The Go Playground
    • Lecture - An Overview of Go
  2. Basics
    • Practice with Variables
    • Go Basic Types
    • Go Constants
    • Lecture - Formatters
    • String Formatting
  3. Composite Types
    • Lecture - Arrays
    • Arrays
    • Lecture - Slices
    • Slices
    • Go Struct
    • Pointers
    • Go Functions
    • Lecture - init Function
    • Interfaces
    • Maps
  4. Idiomatic Go
    • Looping
    • Panic
    • Defer
    • Recover
    • Go Methods
    • Conditionals
    • Switch Statement
  5. User Input
    • Reading in Console Input
    • Arguments
    • CLI Flags
  6. Parsing and Generating
    • Text Files
    • JSON Files
    • XML Files
    • CSV Files
    • YAML Files
    • Go Templates
  7. Beyond Basics
    • Executing system commands
    • Generating Randomness
    • Sorting
    • Generating and Handling Errors
    • Concurrency with Goroutines
    • Channels
    • Go Testing
  8. Network
    • Consuming RESTful APIs
    • HTTP GET requests
    • HTTP POST requests
    • Simple HTTP Servers
    • Simple File Servers
    • Sending Email SMTP
  9. Database
    • SQL and SQL-like Databases
    • RESTful interfaces and CRUD operations
  10. CI/CD
    • Containerizing your Go App with Docker
    • Life Cycling a Go App with GitLab CI
  11. Enterprise
    • Interop with Prometheus
    • Go and Apache Kafka
  12. Appendix
    • Go Best Practices
    • Go Certification Project
    • Glossary
  1. Up and Running with Go
    • Install Go
    • Lecture - Go IDEs
    • The Go Playground
    • Lecture - An Overview of Go
  2. Basics
    • Practice with Variables
    • Go Basic Types
    • Go Constants
    • Lecture - Formatters
    • String Formatting
  3. Composite Types
    • Lecture - Arrays
    • Arrays
    • Lecture - Slices
    • Slices
    • Go Struct
    • Pointers
    • Go Functions
    • Lecture - init Function
    • Interfaces
    • Maps
  4. Idiomatic Go
    • Looping
    • Panic
    • Defer
    • Recover
    • Go Methods
    • Conditionals
    • Switch Statement
  5. User Input
    • Reading in Console Input
    • Arguments
    • CLI Flags
  6. Parsing and Generating
    • Text Files
    • JSON Files
    • XML Files
    • CSV Files
    • YAML Files
    • Go Templates
  7. Beyond Basics
    • Executing system commands
    • Generating Randomness
    • Sorting
    • Generating and Handling Errors
    • Concurrency with Goroutines
    • Channels
    • Go Testing
  8. Network
    • Consuming RESTful APIs
    • HTTP GET requests
    • HTTP POST requests
    • Simple HTTP Servers
    • Simple File Servers
    • Sending Email SMTP
  9. Database
    • SQL and SQL-like Databases
    • RESTful interfaces and CRUD operations
  10. CI/CD
    • Containerizing your Go App with Docker
    • Life Cycling a Go App with GitLab CI
  11. Enterprise
    • Interop with Prometheus
    • Go and Apache Kafka
  12. Appendix
    • Go Best Practices
    • Go Certification Project
    • Glossary
LABS

This very hands-on class is taught via a combination of live instructor demos and hands-on labs.

This very hands-on class is taught via a combination of live instructor demos and hands-on labs.

WHO SHOULD ATTEND

This course is an appropriate introduction to anyone looking to get started with Go, but especially:

  • Software Developers
  • System Administrators
  • Network Engineers
  • DevOps Operators
PREREQUISITES

Experience programming in another language is a useful prerequisite for this course, but not required.