Skip to content

rlugojr/gotraining-1

 
 

Repository files navigation

Fundamental Go

Click Here To Review The Course Material

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Although it borrows ideas from existing languages, it has a unique and simple nature that make Go programs different in character from programs written in other languages. It balances the capabilities of a low-level systems language with some high-level features you see in modern languages today. This creates a programming environment that allows you to be incredibly productive, performant and fully in control; in Go, you can write less code and do so much more.

What You Will Learn

Hardcore Go is a 3 day class for any intermediate-level developer who has some experience with other programming languages and wants to learn Go. This class provides an intensive, comprehensive and idiomatic view of the language. We focus on both the specification and implementation of the language, including topics ranging from language syntax, Go’s type system, concurrency, channels, testing and more. We believe this class is perfect for anyone who wants a jump start in learning Go or who wants a more thorough understanding of the language and its internals.

Roadmap

  • Language Syntax
  • Arrays, Slices and Maps
  • Methods, Interfaces and Embedding
  • Packaging and Exporting
  • Using Pointers
  • Composition
  • Error Handling
  • Concurrency, Race Conditions and Channels
  • Concurrency Patterns
  • Testing and Debugging
  • Standard Library
  • Reflection
  • HTTP

Minimal Qualified Student

The 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. Students with the following minimal background will get the most out of the class.

  • Studied CS in school or has a minimum of two years of experience programming full time professionally.
  • Familiar with structural and object oriented programming styles.
  • Has worked with arrays, lists, queues and stacks.
  • Understands processes, threads and synchronization at a high level.
  • Operating Systems
    • Has worked with a command shell.
    • Knows how to maneuver around the file system.
    • Understands what environment variables are.

Before You Come To Class

Install Go On Mac OS X:
http://www.goinggo.net/2013/06/installing-go-gocode-gdb-and-liteide.html

Install Go On Windows:
http://www.wadewegner.com/2014/12/easy-go-programming-setup-for-windows/

Starter Material:
Quick Tour

Learn More:
http://golang.org/
https://tour.golang.org/welcome/1
http://www.goinggo.net/

Go Get The Material

go get github.com/gobridge/gotraining

All material is licensed under the GNU Free Documentation License.

About

Comprehensive training material for learning the language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.0%
  • Other 1.0%