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.