Maxtrain.com - info@maxtrain.com - 513-322-8888 - 866-595-6863
Go (Golang) Essentials
Description
Go (Golang) Essentials Introduction
Welcome to the Go Essentials course, your definitive guide to mastering Go, a powerful and efficient programming language renowned for its concise syntax and robust performance. This course is thoughtfully designed to serve a wide array of professionals, including system administrators, network engineers, and aspiring developers. It is our goal to provide you with a comprehensive understanding of Go’s fundamental principles, ensuring you are well-equipped to leverage its capabilities in various technical domains.
The Go programming language, often referred to as Golang, stands out for its ability to efficiently handle multicore and networked systems. Its design strikes a unique balance, offering the speed and security of a statically typed, compiled language, while maintaining a level of ease and readability often found in dynamically typed, interpreted languages.
In this course, we dive deep into Go’s core features and applications. You’ll gain hands-on experience and insights into its practical use in areas such as system administration, network programming, cloud computing, and storage solutions. Our curriculum is structured to not only teach you the syntax and structure of Go but also to demonstrate its versatility and effectiveness in solving real-world problems.
Course Objectives
By the end of this course, you will:
- Gain proficiency in the current Go Standard Library
- Learn relevant networking libraries in the Go programming language
- Master version control with Git in the context of the Go programming course
- Understand Git integration with popular SCM platforms like GitHub for Go programming
- Execute system commands using Go, a core component of Go programming
- Parse and build files efficiently using Go programming techniques
- Work with RESTful APIs in Go for practical Go programming applications
- Create RESTful APIs using Go, a key aspect of Go programming
- Parse JSON and XML files effectively as part of your Go programming skills
- Build a simple web application with Go, a highlight of the Go programming course
- Containerize Go applications with Docker, a significant aspect of Go programming
- Interact with databases using Go, a practical skill within Go programming
- Implement project structure best practices in Go for efficient Go programming.
Prerequisites
- All you need for this course is keyboard proficiency and a keen interest in learning Go.
Audience
This course is suitable for:
- System Administrators
- Network Administrators
- Network Engineers
- Aspiring Developers
- Anyone interested in mastering the Go programming language (Golang).
Go (Golang) Essentials 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
A comprehensive glossary of terms used throughout the course.
Certification
Go Basics – Certification Project
$2495.00
|
5 Days Course |