Learning Go Programming

An insightful guide to learning the Go programming language
Preview in Mapt

Learning Go Programming

Vladimir Vivien

4 customer reviews
An insightful guide to learning the Go programming language

Quick links: > What will you learn?> Table of content> Product reviews

Mapt Subscription
FREE
$29.99/m after trial
eBook
$5.00
RRP $39.99
Save 87%
Print + eBook
$49.99
RRP $49.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$5.00
$49.99
$29.99 p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 14 Day Trial

Frequently bought together


Learning Go Programming Book Cover
Learning Go Programming
$ 39.99
$ 5.00
Go Programming Blueprints - Second Edition Book Cover
Go Programming Blueprints - Second Edition
$ 39.99
$ 5.00
Buy 2 for $10.00
Save $69.98
Add to Cart

Book Details

ISBN 139781784395438
Paperback348 pages

Book Description

The Go programming language has firmly established itself as a favorite for building complex and scalable system applications. Go offers a direct and practical approach to programming that let programmers write correct and predictable code using concurrency idioms and a full-featured standard library.

This is a step-by-step, practical guide full of real world examples to help you get started with Go in no time at all. We start off by understanding the fundamentals of Go, followed by a detailed description of the Go data types, program structures and Maps. After this, you learn how to use Go concurrency idioms to avoid pitfalls and create programs that are exact in expected behavior. Next, you will be familiarized with the tools and libraries that are available in Go for writing and exercising tests, benchmarking, and code coverage.

Finally, you will be able to utilize some of the most important features of GO such as, Network Programming and OS integration to build efficient applications. All the concepts are explained in a crisp and concise manner and by the end of this book; you would be able to create highly efficient programs that you can deploy over cloud.

Table of Contents

Chapter 1: A First Step in Go
The Go programming language
Playing with Go
Your first Go program
Go in a nutshell
Summary
Chapter 2: Go Language Essentials
The Go source file
Go identifiers
Go variables
Go constants
Go operators
Summary
Chapter 3: Go Control Flow
The if statement
Switch statements
The for statements
The break, continue, and goto statements
Summary
Chapter 4: Data Types
Go types
Numeric types
Boolean type
Rune and string types
Pointers
Type declaration
Type conversion
Summary
Chapter 5: Functions in Go
Go functions
Passing parameter values
Higher-order functions
Error signaling and handling
Deferring function calls
Function panic and recovery
Summary
Chapter 6: Go Packages and Programs
The Go package
Creating packages
Building packages
Package visibility
Importing package
Package initialization
Creating programs
Remote packages
Summary
Chapter 7: Composite Types
The array type
The slice type
The map type
The struct type
Summary
Chapter 8: Methods, Interfaces, and Objects
Go methods
Objects in Go
The interface type
Type assertion
Summary
Chapter 9: Concurrency
Goroutines
Channels
Writing concurrent programs
The sync package
Detecting race conditions
Parallelism in Go
Summary
Chapter 10: Data IO in Go
IO with readers and writers
The io.Reader interface
The io.Writer interface
Working with the io package
Working with files
Formatted IO with fmt
Buffered IO
In-memory IO
Encoding and decoding data
Summary
Chapter 11: Writing Networked Services
The net package
A TCP API server
The HTTP package
A JSON API server
Summary
Chapter 12: Code Testing
The Go test tool
Writing Go tests
HTTP testing
Test coverage
Code benchmark
Summary

What You Will Learn

  • Install and configure the Go development environment to quickly get started with your first program.
  • Use the basic elements of the language including source code structure, variables, constants, and control flow primitives to quickly get started with Go
  • Gain practical insight into the use of Go's type system including basic and composite types such as maps, slices, and structs.
  • Use interface types and techniques such as embedding to create idiomatic object-oriented programs in Go.
  • Develop effective functions that are encapsulated in well-organized package structures with support for error handling and panic recovery.
  • Implement goroutine, channels, and other concurrency primitives to write highly-concurrent and safe Go code
  • Write tested and benchmarked code using Go's built test tools
  • Access OS resources by calling C libraries and interact with program environment at runtime

Authors

Table of Contents

Chapter 1: A First Step in Go
The Go programming language
Playing with Go
Your first Go program
Go in a nutshell
Summary
Chapter 2: Go Language Essentials
The Go source file
Go identifiers
Go variables
Go constants
Go operators
Summary
Chapter 3: Go Control Flow
The if statement
Switch statements
The for statements
The break, continue, and goto statements
Summary
Chapter 4: Data Types
Go types
Numeric types
Boolean type
Rune and string types
Pointers
Type declaration
Type conversion
Summary
Chapter 5: Functions in Go
Go functions
Passing parameter values
Higher-order functions
Error signaling and handling
Deferring function calls
Function panic and recovery
Summary
Chapter 6: Go Packages and Programs
The Go package
Creating packages
Building packages
Package visibility
Importing package
Package initialization
Creating programs
Remote packages
Summary
Chapter 7: Composite Types
The array type
The slice type
The map type
The struct type
Summary
Chapter 8: Methods, Interfaces, and Objects
Go methods
Objects in Go
The interface type
Type assertion
Summary
Chapter 9: Concurrency
Goroutines
Channels
Writing concurrent programs
The sync package
Detecting race conditions
Parallelism in Go
Summary
Chapter 10: Data IO in Go
IO with readers and writers
The io.Reader interface
The io.Writer interface
Working with the io package
Working with files
Formatted IO with fmt
Buffered IO
In-memory IO
Encoding and decoding data
Summary
Chapter 11: Writing Networked Services
The net package
A TCP API server
The HTTP package
A JSON API server
Summary
Chapter 12: Code Testing
The Go test tool
Writing Go tests
HTTP testing
Test coverage
Code benchmark
Summary

Book Details

ISBN 139781784395438
Paperback348 pages
Read More
From 4 reviews

Read More Reviews

Recommended for You

Go Programming Blueprints - Second Edition Book Cover
Go Programming Blueprints - Second Edition
$ 39.99
$ 5.00
Go Design Patterns Book Cover
Go Design Patterns
$ 39.99
$ 5.00
Go: Building Web Applications Book Cover
Go: Building Web Applications
$ 67.99
$ 5.00
Learning Go Web Development Book Cover
Learning Go Web Development
$ 23.99
$ 5.00
Modern Python Cookbook Book Cover
Modern Python Cookbook
$ 39.99
$ 5.00
Mastering Web Application Development with AngularJS Book Cover
Mastering Web Application Development with AngularJS
$ 26.99
$ 5.00