Mastering Go |
|
Author:
| Mario, Vitor De |
ISBN: | 978-1-78398-124-3 |
Publication Date: | Jun 2017 |
Publisher: | Packt Publishing, Limited
|
Book Format: | Paperback |
List Price: | USD $49.99 |
Book Description:
|
Build efficient, high-performance, concurrent, and easily readable Go programsAbout This Book* Dig deep into the Go programming language* Be ready to tackle any challenge with the language* Get to grips with the functional side of Go* Master the essential http packages such as net/http and gorilla/mux as well as full-fledged web frameworksWho This Book Is ForYou should have a good grasp of the Go language syntax, have written a few programs, and know your way around the basics. If...
More DescriptionBuild efficient, high-performance, concurrent, and easily readable Go programsAbout This Book* Dig deep into the Go programming language* Be ready to tackle any challenge with the language* Get to grips with the functional side of Go* Master the essential http packages such as net/http and gorilla/mux as well as full-fledged web frameworksWho This Book Is ForYou should have a good grasp of the Go language syntax, have written a few programs, and know your way around the basics. If you're ready to dig deeper, this is the book for you. Don't worry-you don't need to know every nook and cranny.What You Will Learn* Create well-designed Go programs with interfaces* Master concurrency models and parallelism* Navigate your way around all styles of testing in Go* Understand how to measure performance* Choose the right tradeoff between readability and fast code* Create web servers that fit the design of the net/http package* Explore development of microservices and API generationIn DetailThe Go programming language offers a combination of easily readable and maintainable code with an intuitive concurrency model and high performance. This book is an authoritative guide that will help you learn new advanced methods in a clear and contextualized way.We start off by discussing package design, testing, and command line programming. Later, we look into the most powerful aspects of the language, such as interfaces, concurrency and parallelism, error handling, and functional programming.Moving on, we explore programming for the web, going deep into the standard library framework: net/http. After fully exploring net/http, we check complementary libraries such as gorilla/mux and negroni. Going ahead, we explore full-fledged frameworks such as Beego, Gin, Echo, and others. Microservice construction with go-kit and API generation with Swagger are also covered, preparing for the web of today.You will learn how to evaluate performance with profiling, extracting the best performance from your Go programs without sacrificing readability, and attacking the bottlenecks of your program, where it matters. We'll understand vendoring, reproducible builds, reflection, and, finally, we will teach you how to access C functions with a simple Go call.By the end of the book, you will be able to take on any challenge with the Go programming language.