Skip to content

Latest commit

 

History

History
37 lines (19 loc) · 1.92 KB

README.md

File metadata and controls

37 lines (19 loc) · 1.92 KB

Ultimate Go

This is material for any intermediate-level developer who has some experience with other programming languages and wants to learn Go. We believe these classes are perfect for anyone who wants a jump start in learning Go or who wants a more thorough understanding of the language and its internals.

Note: This material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class.

Design Document

Language Mechanics

This material covers all the language syntax, idioms, implementation and specification of the language. Once you are done with this material you will understand the mechanics of the language and mechanical sympathies the language has for both the hardware and operating system.

Language Mechanics

Software Design

This material covers the essential things you need to know about designing software in Go. Along the way you also learn about composition and error handling.

Software Design

Concurrency

This material covers all the concurrency aspects of the language. Once you are done with this material you will understand the concurrent mechanics of the language and mechanical sympathies the language has for both the hardware and operating system as it related to concurrency.

Concurrency

Testing and Profiling

This material covers a good portion of the tooling that comes with go. Specifically we cover testing and benchmarking. We also cover profiling memory and the scheduler. Finally we learn how to read stack traces.

Testing and Profiling

Packages

This material covers the essential things you need to know about the standard library and some important third party packages. Along the way you also learn about the most commonly used packages.

Packages