8113  Reviews star_rate star_rate star_rate star_rate star_half

Golang Essentials

Go is designed to be concise, clean, and efficient. It is easy to write programs that get the most out of mulধcore and networked machines, while its novel type system enables flexible and modular...

Read More
$2,395 USD
Course Code GO-ESS
Duration 5 days
Available Formats Classroom

Go is designed to be concise, clean, and efficient. It is easy to write programs that get the most out of mulধcore and networked machines, while its novel type system enables flexible and modular program construcধon. 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 crađ enterprise soluধons

Skills Gained

  • 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

Who Can Benefit

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

Prerequisites

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

Course Details

Course Outline

Up and Running with Go

  • Install Go
  • Lecture - Go IDEs
  • The Go Playground
  • Lecture - An Overview of Go
  • An Overview of Go

Basics

  • Practice with Variables
  • Go Basic Types
  • Go Constants
  • Lecture - Formatters
  • String Formatting

Composite Types

  • Lecture - Arrays
  • Arrays
  • Lecture - Slices
  • Slices
  • Go Struct
  • Pointers
  • Go Functions
  • Lecture - init Function
  • Interfaces
  • Maps

Idiomatic Go

  • Looping
  • Panic
  • Defer
  • Recover
  • Go Methods
  • Conditionals
  • Switch Statement

User Input

  • Reading in Console Input
  • Arguments
  • CLI Flags

Parsing and Generating

  • Text Files
  • JSON Files
  • XML Files
  • CSV Files
  • YAML Files
  • Go Templates

Beyond Basics

  • Executing system commands
  • Generating Randomness
  • Sorting
  • Generating and Handling Errors
  • Concurrency with Goroutines
  • Channels
  • Go Testing

Network

  • Consuming RESTful APIs
  • HTTP GET requests
  • HTTP POST requests
  • Simple HTTP Servers
  • Simple File Servers
  • Sending Email SMTP

Database

  • SQL and SQL-like Databases
  • RESTful interfaces and CRUD operaধons

CI/CD

  • Containerizing your Go App with Docker
  • Life Cycling a Go App with GitLab CI

Enterprise

  • Interop with Prometheus
  • Go and Apache KaĎa

Appendix

  • Go Best Practices
  • Go Certification Project
  • Glossary

Hands On Labs

  • Welcome to Alta3 Research Labs
  • Using vim
  • Efficient CLI Usage with Tmux
  • Making a GitHub Account
  • Go Certification Project
  • Install Go
  • Lecture - Go IDEs
  • The Go Playground
  • Lecture - An Overview of Go
  • An Overview of Go
  • Practice with Variables
  • Go Basic Types
  • Go Constants
  • Lecture - Formatters
  • String Formatting
  • Lecture - Arrays
  • Arrays
  • Lecture - Slices
  • Slices
  • Go Functions
  • Go Struct
  • Go Methods
  • Pointers
  • Maps
  • Lecture - init Function
  • Variadic Funcধons
  • Conditionals
  • Switch Statement
  • Looping
  • Panic
  • Defer
  • Recover
  • Reading in Console Input
  • Arguments
  • CLI Flags
  • Environmental Vars
  • Text Files
  • JSON Files
  • XML Files
  • CSV Files
  • YAML Files
  • Go Templates
  • Executing system commands
  • Generating Randomness
  • Generating and Handling Errors
  • Interfaces
  • Sorting
  • Concurrency with Goroutines
  • Lecture - Channels
  • Channels
  • Go Tesধng
  • Lecture - Benchmark Testing
  • Lecture - Test-Driven Dev
  • Consuming RESTful APIs
  • HTTP GET requests
  • HTTP POST requests
  • Simple HTTP Servers
  • Simple File Servers
  • Sending Email SMTP
  • SQL and SQL-like Databases
  • Containerizing your Go App with Docker
  • Life Cycling a Go App with GitLab CI
  • Lecture - Athens Proxy
  • Interop with Prometheus
  • Go and Apache KaĎa
  • Cobra-Cli
  • Go Best Pracধces
  • Helpful Links
  • Glossary