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
- Cassandra training
- DynamoDB training
- Kafka training
- Kinesis training
- Apache Spark training
- Akka Training
More info
Cloudurable™ provides:
- Subscription Cassandra Database support (Support subscription pricing for Cassandra and Kafka).
- Quickstart Mentoring Consulting
- Architectural Analysis Consulting
- Training and mentoring for Cassandra for DevOps and Developers
- Training and mentoring for Kafka for DevOps and Developers
- Redis Consulting
- Redis Training
- ElasticSearch training
- ELK Consulting
- InfluxDB/TICK Training
- TICK Consulting
Contact us
For more details on the subscription support or pricing please contact us or call ((415) 758-1113) or write info@cloudurable.com.