• Complain

Shiju Varghese - Go Recipes: A Problem-Solution Approach

Here you can read online Shiju Varghese - Go Recipes: A Problem-Solution Approach full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2016, publisher: Apress, 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.

Shiju Varghese Go Recipes: A Problem-Solution Approach
  • Book:
    Go Recipes: A Problem-Solution Approach
  • Author:
  • Publisher:
    Apress
  • Genre:
  • Year:
    2016
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Go Recipes: A Problem-Solution Approach: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Go Recipes: A Problem-Solution Approach" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Solve your Go problems using a problem-solution approach. Each recipe is a self-contained answer to a practical programming problem in Go. Go Recipes contains recipes that deal with the fundamentals of Go, allowing you to build simple, reliable, and efficient software. Other topics include working with data using modern NoSQL databases such as MongoDB and RethinkDB. The book provides in-depth guidance for building highly scalable backend APIs in Go for your mobile client applications and web client applications.

All this means that youll be able to write programs that get the most out of multicore and networked machines, using Gos novel type system that enables flexible and modular program construction. Youll see how to test your Go applications so they are ready for deployment, as well as learning how to write HTTP servers to offer you maximum flexibility when dealing with remote clients.

What Youll Learn
    Work with the core fundamentals of Go
  • Persist data into NoSQL databases
  • Build scalable backend APIs
  • Test your Go applications
  • Create HTTP web servers in Go
Who This Book Is For

Experienced programmers who have some or no prior experience with Go.

Shiju Varghese: author's other books


Who wrote Go Recipes: A Problem-Solution Approach? Find out the surname, the name of the author of the book and a list of all author's works by series.

Go Recipes: A Problem-Solution Approach — 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 "Go Recipes: A Problem-Solution Approach" 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
Shiju Varghese 2016
Shiju Varghese Go Recipes 10.1007/978-1-4842-1188-5_1
1. Beginning Go
Shiju Varghese 1
(1)
Chettiyadan House, Cheranalloor, India
Electronic supplementary material
The online version of this chapter (doi: 10.1007/978-1-4842-1188-5_1 ) contains supplementary material, which is available to authorized users.
Go, also commonly referred to as Golang, is a general-purpose programming language, developed by a team at Google and many contributors from the open source community ( http://golang.org/contributors ). The Go language was conceived in September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google. Go first appeared in November 2009, and the first version of the language was released in December 2012. Go is an open source project that is distributed under a BSD-style license. The official web site of the Go project is available at http://golang.org/ . Go is a statically typed, natively compiled, garbage-collected, concurrent programming language that belongs primarily to the C family of languages in terms of basic syntax.
Introduction to Go
The Go programming language can be simply described in three words: simple, minimal, and pragmatic. The design goal of Go is to be a simple, minimal, and expressive programming language that provides all the essential features for building reliable and efficient software systems. Every language has its own design goal and a unique philosophy. Simplicity cant be added later in the language, so it must be built with simplicity in mind. Go is designed for simplicity. By combining Gos simplicity and pragmatism, you can build highly efficient software systems with a higher level of productivity.
Go is a statically typed programming language with its syntax loosely derived from C, sometimes referred to as a modern C for the 21st century. From C, Go borrows its basic syntax, control-flow statements, and basic data types. Like C and C++, Go programs compile into native machine code. Go code can be compiled into native machine code for a variety of processors (ARM, Intel) under a variety of operating systems (Linux, Windows, macOS). It is important to note that Go code can be compiled into Android and iOS platforms. Unlike Java and C#, Go doesnt need any virtual machine or language runtime to run compiled code because it compiles into native machine code. This will give you great opportunities when you build applications for modern systems. Go compiles programs faster than C and C++, hence compiling larger programs with Go solves the problem of delays in compiling larger programs with many of the existing programming languages. Although Go is a statically typed language, it provides the developer productivity similar to a dynamically type language because of its pragmatic design.
In the last decade, computer hardware has evolved to having many CPU cores and more power. Nowadays we heavily leverage cloud platforms for building and running applications where servers on the cloud have more power. Although modern computers and virtual machine instances on the cloud have more power and many CPU cores, we still cant leverage the power of modern computers using most of the existing programming languages and tools. Go is designed to effectively use the power of modern computers for running high-performance applications. Go provides concurrency as a built-in feature, and it is designed for writing high-performance concurrent applications that allow developers to build and run high-performance, massively scalable applications for modern computers. Go is a great choice of language in the era of cloud computing.
The Go Ecosystem
Go is an ecosystem that also provides essential tools and libraries for writing a variety of software systems. The Go ecosystem is consists of the following:
  • Go language
  • Go libraries
  • Go tooling
The Go language provides essential syntax and features that allow you to write your programs. These programs leverage libraries as reusable pieces of functionality, and tooling for formatting code, compiling code, running tests, installing programs, and creating documentation. The Go installation comes with a lot of reusable libraries known as standard library packages. The Go developer community has been building a huge set of reusable libraries known as third-party packages. When you build Go applications, you can leverage packages (reusable libraries) provided by Go itself and the Go community. You use Go tooling to manage your Go code. Go tooling allows you to format, verify, test, and compile your code.
1-1. Installing Go Tools
Problem
You want to install Go tools in your development machine.
Solution
Go provides binary distributions for FreeBSD, Linux, macOS, and Windows. Go also provides installer packages for macOS and Windows.
How It Works
Go provides binary distributions for Go tools for the FreeBSD (release 8-STABLE and above), Linux, macOS (10.7 and above), and Windows operating systems and the 32-bit (386) and 64-bit (amd64) x86 processor architectures. If a binary distribution is not available for your combination of operating system and architecture, you can install it from source. The binary distributions for the Go tools are available at https://golang.org/dl/ . You can also install the Go tools by building from the source. If you are building from source, follow the source installation instructions at https://golang.org/doc/install/source .
Figure ). Go provides installers for both macOS and Windows operating systems.
Figure 1-1 Binary distributions and archived source for Go for various - photo 1
Figure 1-1.
Binary distributions and archived source for Go for various platforms
A package installer is available for macOS that installs the Go distribution at /usr/local/go and configures the /usr/local/go/bin directory in your PATH environment variable.
In macOS, you can also install Go using Homebrew ( http://brew.sh/ ). The following command will install Go on macOS:
brew install go
An MSI installer is available for Windows OS that installs the Go distribution at c:\Go . The installer also configures the c:\Go\bin directory in your PATH environment variable.
Figure shows the package installer running on macOS.
Figure 1-2 Package installer for Go running on macOS A successful - photo 2
Figure 1-2.
Package installer for Go running on macOS
A successful installation of Go automatically sets up the GOROOT environment variable in the location in which the Go tools are installed. By default, this will be /usr/local/go under macOS and c:\Go under Windows. To verify the installation of Go tools, type the go command with any of the subcommands in the command-line window as shown here:
go version
Here is the result that displays in macOS:
go version go1.6 darwin/amd64
Here is the result that displays on a Windows system:
go version go1.6 windows/amd64
The following go command provides the help for the Go tool:
go help
1-2. Setting Up Go Development Environment
Problem
You want to set up the development environment for Go on your development machine so that you can write programs in Go.
Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Go Recipes: A Problem-Solution Approach»

Look at similar books to Go Recipes: A Problem-Solution Approach. 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 «Go Recipes: A Problem-Solution Approach»

Discussion, reviews of the book Go Recipes: A Problem-Solution Approach 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.