Go

1
Ebook

Go Programming Cookbook. Over 85 recipes to build modular, readable, and testable Golang applications across various domains - Second Edition

Aaron Torres

Go (or Golang) is a statically typed programming language developed at Google. 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 book will serve as a reference while implementing Go features to build your own applications.This Go cookbook helps you put into practice the advanced concepts and libraries that Golang offers. The recipes in the book follow best practices such as documentation, testing, and vendoring with Go modules, as well as performing clean abstractions using interfaces. You'll learn how code works and the common pitfalls to watch out for. The book covers basic type and error handling, and then moves on to explore applications, such as websites, command-line tools, and filesystems, that interact with users. You'll even get to grips with parallelism, distributed systems, and performance tuning.By the end of the book, you'll be able to use open source code and concepts in Go programming to build enterprise-class applications without any hassle.

2
Ebook

Język Go. Tworzenie idiomatycznego kodu w praktyce

Jon Bodner

Go pojawił się w 2009 roku, służy do tworzenia usług internetowych. Pozwala na łatwe pisanie wydajnych aplikacji. Zdobył popularność, jednak wielu programistów nie wykorzystuje w pełni jego możliwości. Dotyczy to zwłaszcza osób, które przy pisaniu kodu Go korzystają z konstrukcji właściwych dla innych języków. Nie jest to właściwa metoda programowania. Aby tworzyć przejrzysty, prawidłowy kod w Go, należy do niego podejść w sposób idiomatyczny. Ten praktyczny przewodnik jest przeznaczony dla osób, które chcą się nauczyć myśleć jak rasowi programiści Go. Dzięki niemu zaczniesz pisać idiomatyczny kod w Go, co pozwoli Ci optymalnie wykorzystywać możliwości tego języka. Dowiesz się, jak wygląda środowisko programistyczne Go i w jaki sposób przygotować je do pracy, również zespołowej. Przeanalizujesz kwestie zmiennych, typów, struktur sterujących i funkcji Go i być może odkryjesz subtelne niuanse odróżniające ten język od innych. Zapoznasz się także ze sprawdzonymi wzorcami projektowymi i przekonasz się, że naprawdę warto je stosować we własnym kodzie. Osobny rozdział poświęcono przyszłej implementacji typów sparametryzowanych i jej integracji z istniejącymi mechanizmami języka. W książce: czym jest idiomatyczny kod w języku Go najlepsze wzorce projektowe w Go przygotowanie i konfiguracja środowiska programistycznego zastosowanie mechanizmu refleksji, a także pakietów unsafe i cgo tworzenie wydajnego kodu w Go możliwe problemy, ich unikanie i rozwiązywanie Poznaj Go: nudny język do pisania fascynujących programów!

3
Ebook

Machine Learning with Go Quick Start Guide. Hands-on techniques for building supervised and unsupervised machine learning workflows

Michael Bironneau, Toby Coleman

Machine learning is an essential part of today's data-driven world and is extensively used across industries, including financial forecasting, robotics, and web technology. This book will teach you how to efficiently develop machine learning applications in Go.The book starts with an introduction to machine learning and its development process, explaining the types of problems that it aims to solve and the solutions it offers. It then covers setting up a frictionless Go development environment, including running Go interactively with Jupyter notebooks. Finally, common data processing techniques are introduced.The book then teaches the reader about supervised and unsupervised learning techniques through worked examples that include the implementation of evaluation metrics. These worked examples make use of the prominent open-source libraries GoML and Gonum.The book also teaches readers how to load a pre-trained model and use it to make predictions. It then moves on to the operational side of running machine learning applications: deployment, Continuous Integration, and helpful advice for effective logging and monitoring.At the end of the book, readers will learn how to set up a machine learning project for success, formulating realistic success criteria and accurately translating business requirements into technical ones.

4
Ebook

Mastering Go. Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures - Second Edition

Mihalis Tsoukalos

Often referred to (incorrectly) as Golang, Go is the high-performance systems language of the future. Mastering Go, Second Edition helps you become a productive expert Go programmer, building and improving on the groundbreaking first edition.Mastering Go, Second Edition shows how to put Go to work on real production systems. For programmers who already know the Go language basics, this book provides examples, patterns, and clear explanations to help you deeply understand Go’s capabilities and apply them in your programming work.The book covers the nuances of Go, with in-depth guides on types and structures, packages, concurrency, network programming, compiler design, optimization, and more. Each chapter ends with exercises and resources to fully embed your new knowledge.This second edition includes a completely new chapter on machine learning in Go, guiding you from the foundation statistics techniques through simple regression and clustering to classification, neural networks, and anomaly detection. Other chapters are expanded to cover using Go with Docker and Kubernetes, Git, WebAssembly, JSON, and more.If you take the Go programming language seriously, the second edition of this book is an essential guide on expert techniques.

5
Ebook

Mastering Go. Harness the power of Go to build professional utilities and concurrent servers and services - Third Edition

Mihalis Tsoukalos

Mastering Go is the essential guide to putting Go to work on real production systems. This freshly updated third edition includes topics like creating RESTful servers and clients, understanding Go generics, and developing gRPC servers and clients.Mastering Go was written for programmers who want to explore the capabilities of Go in practice. As you work your way through the chapters, you’ll gain confidence and a deep understanding of advanced Go concepts, including concurrency and the operation of the Go Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with JavaScript Object Notation (JSON) data, and interacting with databases. You’ll also improve your understanding of Go internals to optimize Go code and use data types and data structures in new and unexpected ways.This essential Go programming book will also take you through the nuances and idioms of Go with exercises and resources to fully embed your newly acquired knowledge.With the help of Mastering Go, you’ll become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.

6
Ebook

The Go Workshop. Learn to write clean, efficient code and build high-performance applications with Go

Delio D'Anna, Andrew Hayes, Sam Hennessy, Jeremy Leasor, ...

The Go Workshop will take the pain out of learning the Go programming language (also known as Golang). It is designed to teach you to be productive in building real-world software. Presented in an engaging, hands-on way, this book focuses on the features of Go that are used by professionals in their everyday work.Each concept is broken down, clearly explained, and followed up with activities to test your knowledge and build your practical skills.Your first steps will involve mastering Go syntax, working with variables and operators, and using core and complex types to hold data. Moving ahead, you will build your understanding of programming logic and implement Go algorithms to construct useful functions.As you progress, you'll discover how to handle errors, debug code to troubleshoot your applications, and implement polymorphism using interfaces. The later chapters will then teach you how to manage files, connect to a database, work with HTTP servers and REST APIs, and make use of concurrent programming.Throughout this Workshop, you'll work on a series of mini projects, including a shopping cart, a loan calculator, a working hours tracker, a web page counter, a code checker, and a user authentication system.By the end of this book, you'll have the knowledge and confidence to tackle your own ambitious projects with Go.