A3G0: Go Programming Essentials

Become an EPIC Affiliate

To view the class schedule you need to become an Affiliate

  • Largest “Guaranteed To Run” public technical training schedules available
  • Easy to become an Affiliate – no charge or fee
Become an EPIC Affiliate

already an Affiliate?  Login

About this Course

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.
Be it system admins, network, cloud, or storage engineers, all lessons in our courseware are highly relevant for using Go to craft enterprise solutions.
Class is a combination of live instructor demo and hands-on labs.
Review this course online at https://www.alta3.com/courses/golang

Audience Profile

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

At Course Completion

• 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

Certification
• 💻 Lecture + Lab: Alta3 Research Go Certification
AI LLM Toolkit
• 💻 Lecture + Lab: Large Language Model toolkit for AI Solution Assistance
Software Control Management
• 💻 Lecture + Lab: SCM Option #1 - GitHub
• 💻 Lecture + Lab: SCM Option #2 - GitLab
Up and Running with Go
• 💻 Lecture + Lab: Getting Started with Go
• 💬 Lecture: Go IDEs
• 💻 Lecture + Lab: The Go Playground
• 💬 Lecture: An Overview of Go
• 💻 Lecture + Lab: An Overview of Go
Basics
• 💻 Lecture + Lab: Practice with Variables
• 💻 Lecture + Lab: Go Basic Types
• 💻 Lecture + Lab: Go Constants
• 💬 Lecture: String Formatting
• 💻 Lecture + Lab: String Formatting
Composite Types
• 💬 Lecture: Arrays
• 💻 Lecture + Lab: Go Arrays
• 💬 Lecture: Slice
• 💻 Lecture + Lab: Slices
• 💻 Lecture + Lab: Go Functions
• 💻 Lecture + Lab: Struct Type
• 💻 Lecture + Lab: Go Receiver Functions (Methods)
• 💻 Lecture + Lab: Pointers
• 💻 Lecture + Lab: Maps
• 💬 Lecture: init Function
• 💻 Lecture + Lab: Variadic Functions
Idiomatic Go
• 💻 Lecture + Lab: Conditionals
• 💻 Lecture + Lab: Switch and Case
• 💻 Lecture + Lab: Looping
• 💻 Lecture + Lab: Panic
• 💻 Lecture + Lab: Defer
• 💻 Lecture + Lab: Recover
User Input
• 💻 Lecture + Lab: Reading in Console Input
• 💻 Lecture + Lab: Arguments
• 💻 Lecture + Lab: Flags
• 💻 Lecture + Lab: Environmental Vars
Parsing and Generating
• 💻 Lecture + Lab: Text Files
• 💻 Lecture + Lab: JSON Files
• 💻 Lecture + Lab: XML Files
• 💻 Lecture + Lab: CSV Files
• 💻 Lecture + Lab: YAML Files
• 💻 Lecture + Lab: Go Templates
Beyond Basics
• 💻 Lecture + Lab: Executing system commands
• 💻 Lecture + Lab: Generating Randomness Go Guessing Game
• 💻 Lecture + Lab: Generating and Handling Errors
• 💻 Lecture + Lab: Interfaces
• 💻 Lecture + Lab: Sorting
• 💻 Lecture + Lab: Concurrency with Goroutines
• 💬 Lecture: Channels
• 💻 Lecture + Lab: Channels
• 💻 Lecture + Lab: Go Testing
• 💬 Lecture: Benchmark Testing
• 💬 Lecture: Test-Driven Development TDD
Network
• 💻 Lecture + Lab: Consuming RESTful APIs
• 💻 Lecture + Lab: HTTP GET requests
• 💻 Lecture + Lab: HTTP POST requests
• 💻 Lecture + Lab: Simple HTTP Servers
• 💻 Lecture + Lab: Simple File Servers
• 💻 Lecture + Lab: Sending Email SMTP
Database
• 💻 Lecture + Lab: SQL and SQL-like Databases
CI/CD
• 💻 Lecture + Lab: Containerizing your Go App with Docker
• 💻 Lecture + Lab: Life-cycling a GoLang Application with GitLab
• 💬 Lecture: Athens
Enterprise
• 💻 Lecture + Lab: Cobra-Cli
• 💻 Lecture + Lab: Go and Prometheus
• 💻 Lecture + Lab: Kafka Go Client

Prerequisites

• Recommended to have some experience in another language, although, not required