Book Image

Go Systems Programming

Book Image

Go Systems Programming

Overview of this book

Go is the new systems programming language for Linux and Unix systems. It is also the language in which some of the most prominent cloud-level systems have been written, such as Docker. Where C programmers used to rule, Go programmers are in demand to write highly optimized systems programming code. Created by some of the original designers of C and Unix, Go expands the systems programmers toolkit and adds a mature, clear programming language. Traditional system applications become easier to write since pointers are not relevant and garbage collection has taken away the most problematic area for low-level systems code: memory management. This book opens up the world of high-performance Unix system applications to the beginning Go programmer. It does not get stuck on single systems or even system types, but tries to expand the original teachings from Unix system level programming to all types of servers, the cloud, and the web.
Table of Contents (13 chapters)

About Go packages

Packages are for grouping related functions and constants so that you can transfer them easily and use them in your own Go programs. As a result, apart from the main package, packages are not autonomous programs.

There exist many useful Go packages that come with each Go distribution including the following:

  • The net package: This supports portable TCP and UDP connections
  • The http package: This is a part of the net package and offers HTTP server and client implementations
  • The math package: This provides mathematical functions and constants
  • The io package: This deals with primitive input and output operations
  • The os package: This gives you a portable interface to the operating system functionality
  • The time package: This allows you to work with times and dates

For the full list of standard Go packages refer to https://golang.org/pkg/. I strongly advise you to...