Logo

Maxtrain.com - [email protected] - 513-322-8888 - 866-595-6863

ATL3-GolangE

Go (Golang) Essentials

Alert Me

Description

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.

What You’ll Learn

  • 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

Introduction to Go

  • Installing Go
  • Preparing to write Go (tools you can use to write code)
  • Executing a Go file
  • Best practice techniques
  • Go Statements and Control Flow
  • Overview of the Standard Library

Version Controlling Code with Git

  • Overview of Git
  • Git commands
  • Set up a GitHub account
  • GitHub essentials
  • README course requirements
  • How to Set up a repo
  • Issue a Pull request
  • How to use “Issues” for peer review

Basics of Golang Programming

  • Basic Types
  • Composite Types
  • Functions
  • Methods
  • Interfaces
  • Reading in console input

Data Types in Go

  • Basic Type
    • Numbers
    • Strings
    • Booleans
  • Aggregate Type
    • Arrays
    • Structs
  • Reference Type
    • Pointers
    • Slices
    • Maps
    • Functions
    • Channels
  • Interface Type
  • Type conversions

Conditionals, If, Else, and Else If

  • Trigger blocks of code with conditionals
  • switch… case statements
  • Conditional operators
    • Arithmetic Operators
    • Assignment Operators
    • Comparison Operators
    • Logical Operators
    • Bitwise Operators
  • If statement initialization
  • Nested if statements

Goroutines

  • Concurrency
  • Creating a goroutine
  • Fetching values
  • Playing and pausing
  • Channels
  • Concurrency problems

Looping with “for”

  • The for Loop
  • For iteration examples
  • Looping across datasets from files

Getting Data In and Out of Go

  • Opening Files
  • Working with Files
  • Read data from files
  • Controlling Output Location
  • Intro to working with APIs
  • What is a “REST”ful API?
  • APIs and JSON
  • Marshalling and Unmarshalling
  • YAML

Creating Go Functions

  • Function Basics
  • Defining Functions
  • Functions with parameters
  • Returning values
  • Returning multiple values

Golang Packages

  • Packages
  • Go Struct and Field Validation examples
  • Dynamic JSON
  • Statistics package
  • Go Slice Map Filter
  • HTML Parser
  • Simple image processing
  • Chart package
  • Dynamic XML parser
  • Data time toolkit

Go Scope

  • Local Variables
  • Global Variables
  • Variable preference
  • Naming conventions

(Optional) Regular Expression

  • CommonRegex Golang Package
  • Writing regular expression
  • Searching for data in files
  • Using Regular Expression to search data sets
  • Searching for data in Wireshark Traces (Go and *.pcaps)

 Labs

  • Lab 1. Welcome to Alta3 Research Labs
  • Lab 2. Using vim
  • Lab 3. Go IDEs
  • Lab 4. git and GitHub
  • Lab 5. Install Go
  • Lab 6. Go Basic Types
  • Lab 7. Go Composite Types
  • Lab 8. Go Functions
  • Lab 9. Go Methods
  • Lab 10. Go Interfaces
  • Lab 11. Reading in Console Input
  • Lab 12. Executing system commands
  • Lab 13. Parsing JSON
  • Lab 14. Parsing XML files
  • Lab 15. The init function
  • Lab 16. Pointers
  • Lab 17. The sort package
  • Lab 18. Consuming RESTful APIs
  • Lab 19. Concurrency with Golang Goroutines
  • Lab 20. Building a web app with Golang
  • Lab 21. Containerizing your Go App with Docker
  • Lab 22. Reading and Writing files
  • Lab 23. Creating a RESTful API
  • Lab 24. Building a Network Command Lines Interface with Go
  • Lab 25. Creating a bot with Golang
  • Lab 26. Golang and SQL
  • Lab 27. Golang and Prometheus
  • Lab 28. Go and Apache Kafka
  • Lab 29. Sending email with Go
  • Lab 30: Go Templates
  • Glossary

Certification

  • Go Basics - Certification Project

PreRequisites

Keyboard proficiency

Audience

This course is an appropriate introduction to students of any background looking to get started with Go, System Administrators, Network Administrators and Engineers

$2495.00

5 Days Course

Class Dates

Request a Date or a Private Class below.


Category:
Loading ...