GoLang Onsite, Instructor-led, training Course

Go Programming Training - Onsite, Instructor-led

Go Lang

This Go Programming Course teaches the basics of the GoLang with a focus on successful production deployments.

Go is easy to build simple, reliable, and efficient software with a minimalistic syntax. Go was designed to be a modern language that utilizes modern hardware. It has constructs to use multiple cores. Concurrency is built-in. Go is the system language of the modern age with support for networked and multicore computing built-in.

“Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.”

Go combines the ease of programming of a dynamically typed language with the runtime speed and compile checks of a statically typed, compiled language. Go compiles quickly. Go provides an expressive, lightweight type system; concurrency and garbage collection; and rigid dependency specification. Golang was written to be compiled quickly and has an extensible interface system.

Go is the most important and popular modern system programming language.

Why choose us and our GoLang Course

We write software in GoLang that runs our products.

Our GoLang course is taught by real-world AWS consultants who implement microservices and tools for the AWS environment.

Endorsements

”(The instructor) taught an onsite course at our office…. I highly recommend (the instructor). The training was thorough and the examples were non-trivial. … He was ready with answers to the most detailed of questions.” –Jack

“He’s an engaging instructor who is genuinely interested in his client’s results. He did a great job customizing our course content to meet our exact needs. A few months earlier we had another vendor teach a similar course without nearly the same positive results. “ –John

”(The instructor) knowledge of … technologies is both deep and wide. His training and mentoring skills are the best that I’ve come across. His passion and proficiency has been inspiring for me and many others in the development community.” –Tom

(The instructor) delivered what was hands-down the best technical training I’ve ever received. He also played a key role on a large project, and it was always a great pleasure to work with him. –Aaron

Being a consultant as well as an teacher, he speaks from experience and possesses a deep knowledge of his subject areas. Highly recommended. –Thomas

GoLang Training Course Information

Duration: 3 to 4 days

Prerequisites

Developers who are familiar with Python, Java, C, C# or C++ and have developed professionally. This course for experienced programmers wanting to come up to speed with GoLang quickly.

Supported Platforms:

We run the course in Linux in a VirtualMachine which can run on Windows, OSX, or Linux.

Skills Gained:

  • Familiar with the additions to Go interfaces
  • Understand Go Channels and Go Routines
  • Know how to work with Strings, Slices, Arrays, Structs and Maps
  • Understand how to write networked application
  • Understand how to use Go Lang to write applications that use multicore servers

Details:

Session 1: Introduction to the Go Lang

A Simple Go Program Go’s “Hello World” Program

LABS:

  • Hello World: A Simple Go Application

Session 2: Go Basics

  • Language and Platform Features
  • Go tools

    LABS:

  • Working with the Go Development Tools

Session 3: Class and Object Basics

The Go Structs and Interfaces * Classes, References, and Instantiation * Adding Data to a Class Definition * Adding Functions to Structs

LABS:

Exploring Types and Instances Writing and Using a Struct Definition with Fields and Methods

Session 4: More on Structs and Interfaces

  • Accessing data, References to self
  • Encapsulation and Access Control, public and private Access
  • Factory Methods
  • Standalone functions
  • Scopes, Blocks, References

LABS:

  • Encapsulation / Access Protection
  • Writing and Using Constructors
  • Functions

Session 5: Flow Control

  • Branching: if, if-else, switch
  • Iteration: while, do-while, for, break, continue
  • Error handling

LABS:

  • Flow of Control / Data Validation

Session 6: Strings, Map, Slice, Arrays

  • String, bytes, slices
  • Arrays, Arrays of Reference Types
  • varargs
  • Formatting

LABS:

  • Using Strings, Maps, Slice and Arrays

Session 7: Interfaces

  • Conversion and Assertion
  • Polymorphic
  • Rules
  • Empty interface

LABS:

  • Using interfaces

Session 8: Channels and Concurrency

  • Channels
  • Go Routines
  • Fan out / Fan in
  • Low level concurrency

LABS:

  • Using channels and concurrency

Section 9 - Web Programming

  • Web Programming with Go - net/http package
  • Go Templates Updated for Go - html/template package for HTML templates
  • Working with JSON
  • Using the regexp package to validate user input

LABS:

  • Basic Web Programming with Go

Section 10 - Network Programming

  • Network Programming with Go
  • Socket-level programming - Select
  • Data serialization
  • Encoding
  • Working with URLs

LABS:

  • Basic Network Programming with Go

Section 11 - Go Advanced

  • Packaging
  • Reflection
  • Logging
  • Encoding
  • Annotations

LABS:

  • Advanced Go

Check out all of our SMACK training

More info

Cloudurable™ provides:

Contact us

For more details on the subscription support or pricing please contact us or call ((415) 758-1113) or write info@cloudurable.com.