Covering the major features and packages of Go, plus its types and datastructures, to enable the reader to write threadsafe, concurrent cloud, and network applicationsKey FeaturesCompletes the Golang developer's educationA deep dive into the core libraries and Golang features usually taken for grantedExplains the rationale behind composite data types, Golang concurrency, and the Golang networking libraryBook DescriptionGo, the programming language, has become the means by which systems, networking, web and cloud applications are being implemented. Given that Go syntax is fairly easy to learn, it is on the level of libraries we start seeing features, speed, and efficiency for which the Go ecology is justly famous.Once the syntax of Go has been mastered, and some small project have been written, most Golang programmers face the difficulty of having to integrate their Golang skills with production code. The usual introductions to Golang programming stop short of the transition, which Mastering Go provides.The exposition of Golang begins an account of how Go has been implemented, background that makes the rationale behind Golang types and composite types much easier to understand. Another piece of the puzzle tends to be Golang data structures, which are extremely important - they encompass a whole selection of tries, for instance, and a very well reputed threadsafe package.But the center piece of this book is to be found in its in-depth account of concurrency and systems and network programming, all of which are extremely important for modern-day native cloud development. A chapter on reflection rounds out the picture.What you will learnLearn to understand the design choices of Golang syntaxUnderstand enough Go internals to be able to optimize Golang codeLearn and appreciate concurrency models as available in GolangUnderstand the interplay of systems and networking codeWrite server-level code that plays well in all environmentsUnderstand the context and appropriate use of Go datatypes and data structuresWho This Book Is ForThe reader is supposed to have read an introductory book on Go, or to have worked through the Tour of Go or an equivalent online course. It will definitely help to remember the basic concepts of concurrency. Network programming will be explained.About the AuthorMihalis Tsoukalos is a Unix administrator, programmer, DBA and mathematician who enjoys writing technical articles and learning new technologies. His research interests include programming languages, databases and operating systems. He holds a B.Sc in mathematics from the University of Patras and an M.Sc in IT from University College London (UK). He has written various technical articles for Sys Admin, MacTech, C/C++ Users Journal, Linux Journal, Linux User and Developer, Linux Format and Linux Voice.
Author: Mihalis Tsoukalos