Автор: Harry Yoon
Издательство: Coding Books Press
Год: September 2022
Страниц: 184
Язык: английский
Формат: pdf, mobi, epub
Размер: 10.1 MB
Learn Golang Essentials in a Weekend!Go is one of the most powerful, and yet the simplest, modern programming languages. We go through all important features of the modern Go programming language (as of 1.18 and 1.19 - 2022), including generics!
We are going through a Cambrian explosion of new programming languages. It seems like a new language is being created every day. In the last decade or so, a new generation of programming languages were created, including Rust, Swift, Kotlin, Julia, and of course Go. They are now widely used alongside more traditional languages such as C/C++, Java, C#, Python, and jаvascript, to name a few. From 30,000 feet above, all these programming languages look more or less the same. As we go down, we can see some distinctions between imperative languages and functional languages. Although this distinction is becoming blurred as more imperative languages adopt various functional programming features, Go remains to be a quintessential imperative language. As we go further down, we start to see some more details, and as we approach the ground, all programming languages look different, and appear rather unique in their own rights.
The Go programming language differentiates itself with a set of unique features, including the builtin concurrency support via goroutines. But, more importantly, Go stands out, among these hundreds of modern languages, in terms of its fundamental language design philosophy. First of all, Go is a "minimalistic" language. Go is reminiscent of simple languages like Lua. The similarity between Go and Lua goes far deeper than their syntactic appearances. The minimalism is at the heart of the Go programming language design. Second, Go values the stability of the language over anything else. This is in contrast with many other programming languages which are literally in the "arms race" for more and more features. Go is more like the C programming language in this regards, which has gone through absolutely minimal changes since its creation over four decades ago.
The recent introduction of generics, in Go 1.18, was an exception. Clearly, it was a necessary change. However, it opened up a can of worms as well. We will likely see some more (small and big) changes in the next few years or so before generics becomes a truly native part of the language. Third, Go is a "batteries included" programming language when it comes to the standard libraries. Go is not necessarily unique in this respect. Languages like Python became widely popular partly due to this "batteries included" approach. Although there is a huge community of third party libraries and frameworks, Go gives you everything you need to get started in developing professional software without having to rely too much on external libraries.
This book is a "mini" language reference on the Go programming language. We go through all essential features of the modern Go programming language (as of 1.18 and 1.19) in this book. Although it is written as a reference, however, you can read it more or less from beginning to end and you should be able to get the overall picture of the Go language (but not necessarily all the gory details). One thing to note is that there are a fair amount of cross references, unlike in the books written in a tutorial style, and if you have no prior experience with programming in Go, you may find it hard to read some parts of the book. This book is not an authoritative language reference. For that, we recommend the readers to refer to the official language specification.
Why Go?
Go is a simple, easy to learn and use, beginner-friendly high-level programming language.
Go is suitable for low-level systems programming, traditionally done by low level languages like C.
Go is one of the most popular languages in modern Web services and application development.
Go is one of the most widely used CLI application languages for system administration and network management.
Go is fun!
Although the book is written as a reference, you can read it more or less from beginning to end and you should be able to get the overall picture of the Go language (but not necessarily all the gory details) if you have some prior experience with programming in Go or other similar C-style languages.
The book covers:
Go toolchain. Workspaces, modules.
Go program execution model. Packages.
Variable, constant declarations.
Builtin types, builtin functions.
Structs, interfaces. Generic types.
Functions, methods. Generic functions.
Expressions and statements.
Скачать Go Mini Reference: A Quick Guide to the Go Programming Language for Busy Coders