• Complain

Mihalis Tsoukalos - Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition

Here you can read online Mihalis Tsoukalos - Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2021, publisher: Packt Publishing, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Mihalis Tsoukalos Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition
  • Book:
    Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition
  • Author:
  • Publisher:
    Packt Publishing
  • Genre:
  • Year:
    2021
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Master key features of Go, including advanced concepts like concurrency and working with JSON, to create and optimize real-world services, network servers, and clients

Key Features
  • Third edition of the bestselling guide to advanced Go programming, expanded to cover RESTful servers, the WebSocket protocol, and Go generics
  • Use real-world exercises to build high-performance network servers and powerful command line utilities
  • Packed with practical examples and utilities to apply to your own development work and administrative tasks
  • Clearly explains Go nuances and features to simplify Go development
Book Description

Go is the language of the future for high-performance systems due to its simplicity and clear principles. Mastering Go shows you how to put Go to work on real production systems. This new edition has been updated to include topics like creating RESTful servers and clients, understanding Go generics, and developing gRPC servers and clients.

Mastering Go, Third Edition explores the capabilities of Go in practice. You will become confident with advanced 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 will also improve your understanding of Go internals to optimize Go code and use data types and data structures in new and unexpected ways.

This Go programming book also covers the nuances and idioms of Go with exercises and resources to fully embed your newly acquired knowledge. Become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.

What you will learn
  • Use Go in production
  • Write reliable, high-performance concurrent code
  • Manipulate data structures including slices, arrays, maps, and pointers
  • Develop reusable packages with reflection and interfaces
  • Become familiar with generics for effective Go programming
  • Create concurrent RESTful servers, and build gRPC clients and servers
  • Define Go structures for working with JSON data
Who this book is for

This book is for Go programmers with previous coding experience, who are familiar with the basics of the language and want to become expert Go practitioners.

Table of Contents
  1. A Quick Introduction to Go
  2. Basic Go Data Types
  3. Composite Data Types
  4. Reflection and Interfaces
  5. Go Packages and Functions
  6. Telling a UNIX System What to Do
  7. Go Concurrency
  8. Building Web Services
  9. Working with TCP/IP and WebSocket
  10. Working with REST APIs
  11. Code Testing and Profiling
  12. Working with gRPC
  13. Go Generics
  14. Appendix

Mihalis Tsoukalos: author's other books


Who wrote Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition? Find out the surname, the name of the author of the book and a list of all author's works by series.

Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Mastering Go Third Edition Harness the power of Go to build professional - photo 1

Mastering Go

Third Edition

Harness the power of Go to build professional utilities and concurrent servers and services

Mihalis Tsoukalos

BIRMINGHAMMUMBAI Mastering Go Third Edition Copyright 2021 Packt Publishing - photo 2

BIRMINGHAMMUMBAI

Mastering Go

Third Edition

Copyright 2021 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Producer: Dr. Shailesh Jain

Acquisition Editor Peer Reviews: Saby Dsilva

Project Editor: Amisha Vathare

Content Development Editor: Edward Doxey

Copy Editor: Safis Editing

Technical Editor: Aniket Shetty

Proofreader: Safis Editing

Indexer: Rekha Nair

Presentation Designer: Pranit Padwal

First published: April 2018

Second edition: August 2019

Third edition: August 2021

Production reference: 1200821

Published by Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham

B3 2PB, UK.

ISBN 978-1-80107-931-0

www.packt.com

Contributors
About the author

Mihalis Tsoukalos is a UNIX Systems Engineer who enjoys technical writing. He is the author of Go Systems Programming and Mastering Go, both first and second editions. He holds a BSc in Mathematics from the University of Patras and an MSc in IT from University College London, UK. He has written more than 300 technical articles for magazines including Sys Admin, MacTech, Linux User and Developer, Usenix ;login:, Linux Format, and Linux Journal. His research interests include time series, databases, and indexing.

You can reach him at https://www.mtsoukalos.eu/ and @mactsouk.

As writing a book is a team effort, I would like to thank the people at Packt Publishing for helping me write this book. This includes Amit Ramadas for answering all my questions, Shailesh Jain for convincing me to write the third edition of Mastering Go, Edward Doxey for the helpful comments and suggestions, and Derek Parker, the technical reviewer, for his good work.

Last, I would like to thank you, the reader of the book, for choosing this book. I hope you find it helpful.

About the reviewer

Derek Parker is a Software Engineer at Red Hat. He is the creator of the Delve debugger for Go and a contributor to the Go compiler, linker, and standard library. Derek is an open-source contributor and maintainer and has worked on everything from front-end JavaScript to low-level assembly code.

I would like to thank my wife, Erica, and our two incredible children for lending me the time to work on this project.

Preface

The book you are reading right now is Mastering Go, Third Edition, which is all about helping you become a better Go developer! If you have the second edition of Mastering Go, do not throw it awayGo has not changed that much, and the second edition is still useful. However, Mastering Go, Third Edition is better than the second edition in many aspects.

There exist many exciting new topics in this edition, including writing RESTful services, working with the WebSocket protocol, and using GitHub Actions and GitLab Actions for Go projects, as well as an entirely new chapter on generics and the development of lots of practical utilities. Additionally, I tried to make this book smaller than the second edition and structure it in a more natural way to make it both easier and faster to read, especially if you are a busy professional.

I also tried to include the right amount of theory and hands-on contentbut, only you, the reader, can tell whether I succeed! Try to do the exercises located at the end of each chapter and do not hesitate to contact me about ways or ideas that can make future editions of this book even better!

Who this book is for

This book is for intermediate Go programmers who want to take their Go knowledge to the next level. It will also be helpful for experienced developers in other programming languages who want to learn Go without going over programming basics.

What this book covers

Chapter 1, A Quick Introduction to Go, begins by talking about the history of Go, the important characteristics of Go, and the advantages of Go, before describing the godoc and go doc utilities and explaining how we can compile and execute Go programs. Afterward, the chapter talks about printing output and getting user input, working with command-line arguments, and using log files. Lastly, we develop a basic version of a phone book application that we are going to keep improving in forthcoming chapters.

Chapter 2, Basic Go Data Types, discusses the basic data types of Go, both numeric and non-numeric, as well as arrays and slices that allow you to group data of the same data type. It also considers Go pointers, constants, and working with dates and times. The last part of the chapter is about generating random numbers and populating the phone book application with random data.

Chapter 3, Composite Data Types, begins with maps, before going into structures and the struct keyword. Additionally, it talks about regular expressions, pattern matching, and working with CSV files. Lastly, we improve the phone book application by adding data persistency to it.

Chapter 4, Reflection and Interfaces, is about reflection, interfaces and type methods, which are functions attached to data types. The chapter also includes the use of the sort.Interface interface for sorting slices, the use of the empty interface, type assertions, type switches, and the error data type. Additionally, we discuss how Go can mimic some object-oriented concepts before improving the phone book application.

Chapter 5, Go Packages and Functions, is all about packages, modules, and functions, which are the main elements of packages. Among other things, we create a Go package for interacting with a PostgreSQL database, create documentation for it, and explain the use of the sometimes tricky defer keyword. This chapter also includes information about the use of GitLab Runners and GitHub Actions for automation and how to create a Docker image for a Go binary.

Chapter 6, Telling a UNIX System What to Do, is about systems programming, which includes subjects such as working with command-line arguments, handling UNIX signals, file input and output, the

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition»

Look at similar books to Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition»

Discussion, reviews of the book Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.