Course Overview

Go Language (golang) is an open source programming language and has become increasing popular as a general-purpose language. You can develop a wide variety of applications using Go, such as systems, database, and networking applications. The combination of the unique capabilities of the language and enumerable features has made Go the preference for developing innovative exciting new applications.

Learn professional programming from a Go Programming expert. Create a modern application using the tools provided in this class.  This course provides students the practical tools to build a complete Go application.  At the end of this course, students will be able to leverage the more advanced features of Go to create fully-functional and sophisticated applications. Gain important hands-on and real-world experience in the labs at the end of each module.  You will create applications in class that you can leverage elsewhere.

This is a hands-on course with several exercises and labs. You will write Go source code from the beginning to end of class.  You will garner lots of experience in class.

Key Learning Areas

At the end of this class, you will be creating complete solutions using the language features of Go.   This includes an understanding of how to leverage the language strengths to create a new generation of applications.

Course Outline

Go Tool

  • Compiler flags
  • Optimizations
  • Imports
  • Compiler directives

Synchronization

  • Atomicity
  • Advanced Channels
  • Cancellations
  • Work stealing
  • Error Propagation

Files

  • JSON
  • HTML
  • XML

Networking

  • Sockets
  • TCP
  • HTTP
  • Data serialization

Cryptography

  • Public / Private Key
  • Encryption
  • Hashing
  • Digital Signatures

Introspection

  • Review
  • Settable

Memory

  • Memory management
  • Pointers
  • Make
  • New
  • Parameters
  • Returns

Unsafe

  • Alignment
  • Offset
  • Unsafe pointers

Tips and Tricks

  • Anonymous structures
  • Performance profiling
  • Mocking
  • Method expressions
  • And much more

Who Benefits

Emerge from class creating secure and networked applications.  Learn to create Go applications with advanced features, such as atomicity, memory management, and unsafe capabilities.

Prerequisites

Individuals with three months prior development or scripting experience with Go.

Attending the Go Foundation class also fulfills the prerequisite.

Platform

Windows, Linux, MacOS

You can also use your preferred integrated development environment.