Welcome to this course. Go (or Golang) is a statically typed programming language developed at Google. It has moved from the state of tentative to mass adoption. Its C-like speed, simplicity, and power for a growing number of systems level programming domains make it an attractive option for programmers working with older cumbersome, statically typed languages. Golang has entered the space as an entirely viable language for accomplishing a huge array of low level programming and service infrastructure tasks. Known for its vast standard library, it also provides features such as garbage collection, type safety, dynamic-typing capabilities, and additional built-in types. This course will serve as a reference while implementing Go features to build your own applications. This Go course helps you put into practice the advanced concepts and libraries that Golang offers. You will learn to develop high quality command-line tools that utilize the powerful shell capabilities and perform well using Gos in-built concurrency mechanisms. We start off by understanding the fundamentals of Go, followed by a detailed description of the Go data types, program structures and Maps. After this, you learn how to use Go concurrency idioms to avoid pitfalls and create programs that are exact in expected behavior. Next, you will be familiarized with the tools and libraries that are available in Go for writing and exercising tests, benchmarking, and code coverage. In this course, you’ll learnA Quick Introduction to GoGo Control FlowData TypesFunctions in GoGo Packages and ProgramsComposite TypesMethods, Interfaces, and ObjectsConcurrencyData IO in GoReading and Writing Streams