Mastering Go leverage Go's expertise for advanced utilities, empowering you to develop professional software

Mastering Go, now in its fourth edition, remains the go-to resource for real-world Go development. This comprehensive guide delves into advanced Go concepts, including RESTful servers, and Go memory management. This edition brings new chapters on Go Generics and fuzzy Testing, and an enriched explor...

Full description

Bibliographic Details
Main Author: Tsoukalos, Mihalis
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing Ltd. 2024
Edition:Fourth edition
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 05176nmm a2200337 u 4500
001 EB002207580
003 EBX01000000000000001344781
005 00000000000000.0
007 cr|||||||||||||||||||||
008 240503 ||| eng
020 |a 9781805122647 
050 4 |a QA76.73.G63 
100 1 |a Tsoukalos, Mihalis 
245 0 0 |a Mastering Go  |b leverage Go's expertise for advanced utilities, empowering you to develop professional software  |c Mihalis Tsoukalos 
250 |a Fourth edition 
260 |a Birmingham, UK  |b Packt Publishing Ltd.  |c 2024 
300 |a 736 pages  |b illustrations 
505 0 |a Includes bibliographical references and index 
505 0 |a Converting a slice to an array or an array pointer -- Data types and the unsafe package -- Generating random numbers -- Generating random strings -- Generating secure random numbers -- Updating the statistics application -- Summary -- Exercises -- Additional resources -- Chapter 3: Composite Data Types -- Maps -- How to tell whether a key exists on a map -- Storing to a nil map -- Iterating over maps -- Structures -- The type keyword -- Defining new structures -- Using the new keyword -- Slices of structures -- Regular expressions and pattern matching 
505 0 |a Avoiding overflows -- Non-numeric data types -- Strings, characters, and runes -- Converting int to string -- The unicode package -- The strings package -- Times and dates -- Working with different time zones -- Constants -- The constant generator iota -- Typed and untyped constants -- Grouping similar data -- Arrays -- Slices -- About slice length and capacity -- Selecting a part of a slice -- Byte slices -- Deleting an element from a slice -- How slices are connected to arrays -- Catching out of bounds errors -- The copy() function -- Sorting slices -- Pointers 
505 0 |a About regexp.Compile and regexp.MustCompile -- Go regular expressions -- About raw string and interpreted string literals -- Matching names and surnames -- Matching integers -- Improving the statistics application -- Working with CSV files -- The updated version of the statistics application -- Summary -- Exercises -- Additional resources -- Chapter 4: Go Generics -- An introduction to generics -- Hello, generics! -- Constraints -- Creating constraints -- Supporting underlying data types -- Supporting slices of any type -- Defining new data types with generics -- Using generics in Go structures 
505 0 |a Cover -- Copyright -- Contributors -- Table of Contents -- Preface -- Chapter 1: A Quick Introduction to Go -- Introducing Go -- The history of Go -- The advantages of Go -- When to use Go -- My personal Go journey -- The go doc and godoc utilities -- Hello World! -- Introducing functions -- Introducing packages -- Running Go code -- Compiling Go code -- Using Go like a scripting language -- Important formatting and coding rules -- What you should know about Go -- Defining and using variables -- Constants -- Global variables -- Printing variables -- Controlling program flow 
505 0 |a Iterating with for loops and range -- Getting user input -- Reading from standard input -- Working with command line arguments -- Using error variables to differentiate between input types -- Understanding the Go concurrency model -- Developing the which(1) utility in Go -- Logging information -- log.Fatal() and log.Panic() -- Writing to a custom log file -- Printing line numbers in log entries -- Writing to multiple log files -- Developing a statistics application -- Summary -- Exercises -- Additional resources -- Chapter 2: Basic Go Data Types -- The error data type -- Numeric data types 
653 |a Go (Computer program language) / http://id.loc.gov/authorities/subjects/sh2012000746 
653 |a Go (Langage de programmation) 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
776 |z 9781805127147 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781805127147/?ar  |x Verlag  |3 Volltext 
082 0 |a 005.13/3 
520 |a Mastering Go, now in its fourth edition, remains the go-to resource for real-world Go development. This comprehensive guide delves into advanced Go concepts, including RESTful servers, and Go memory management. This edition brings new chapters on Go Generics and fuzzy Testing, and an enriched exploration of efficiency and performance. As you work your way through the chapters, you will gain confidence and a deep understanding of advanced Go topics, including concurrency and the operation of the Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with JavaScript Object Notation (JSON) data, and interacting with databases. You will be engaged in real-world exercises, build network servers, and develop robust command-line utilities. With in-depth chapters on RESTful services, the WebSocket protocol, and Go internals, you are going to master Go's nuances, optimization, and observability. You will also elevate your skills in efficiency, performance, and advanced testing. With the help of Mastering Go, you will become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects