The focus of this category is on Golang, more commonly known as Go, which was designed at Google in 2007, particularly for the purpose of improving programming productivity on multicore, networked machines and large codebases.
Although the designers were motivated by a shared dislike for the C++ programming language, Go is most often described as a C-like language. Go inherited its expression syntax, control-flow statements, basic data types, call-by-value parameter passing, pointers, and its emphasis, from C, on programs that compile to efficient machine code and cooperate with the abstractions of current operating systems.
There were other influences, however. Pascal, Alef, and Oberon were significant and, to a lesser extent, APL, BCPL, CSP, Limbo, Modula-2, Occam, Smalltalk, and Squeak. Among the goals of the design team was to produce a language that had the static typing and run-time efficiency of C++, and the usability and readability of Python or JavaScript.
In developing the language, a decision was made to deliberately omit features common in other languages, such as inheritance, generic programming, assertions, pointer arithmetic, implicit type conversions, and both tagged and untagged unions. Go added only those features that the three principle designers (Robert Griesemer, Rob Pike, Ken Thompson) agreed upon. Of course, some of these decisions may be changed in future releases. For example, the designers were open to generic programming, and the language's built-in functions are type-generic. Designed in 2007, Go was publicly announced in 2009, and version 1.0 was released in 2012. Widely used at Google, the language is earning broad appeal.
Go enforces strict coding rules in that influence the style of Go programs, including those that are simply recommendations in other languages. Much of this is built into the language. Surface details, like indentation and spacing, are automatically standardized. There are also rules about package usage. A programmer cannot include a package just because it might be needed. When a package is included, but not used, an error will result. Strict coding rules serve to avoid errors and to reduce code bloat.
Among the advantages of Go is that the standardized code is easy to read and understand. The compiler returns practical warnings and helpful error messages, specifying where the errors can be found. The code is portable, particularly among Unix-type machines. The language uses static linking by default, so binary files can be easily transferred to other machines using the same operating system. Go supports Unicode, so there is no need for extra code for printing characters from multiple human languages.
With Go, there is no need for a GUI for developing, debugging, and testing applications. They can be used from the command line. Go can be used as a scripting language, as it does not have a preprocessor. It does high-speed compilation and can be used to build web applications. It can be used as a scripting language.
The Go library offers several packages, all of which are tested and debugged in advance of their inclusion.
However, there is no direct support for object-oriented programming, and C is still faster for systems programming, largely because Unix is written in C.
On the day of the release of the language, the developer of the unrelated Go! programming language requested a change in the name of Google's product to avoid confusion with the language that he had spent a decade developing, and which had been released in 2003, more than five years prior to the release of Google's language. Google declined to do so.
Websites whose topics relate to the Google's Go language, which may also be known as Golang, are appropriate for this category, along with any editors or other tools designed for use with the Go language, user groups, forums, or tutorials. Those relating to Go! (note the exclamation mark) should be listed in its own category or, if there are not enough sites, directly under the Programming category.
 
 
Recommended Resources
Targeting Go programmers, the blog publishes tutorials on applying Go to selected IT topics, from computer science fundamentals to other technologies. Written by someone who has been a Go programmer since the language was released, articles are arranged into topic categories and sorted by tags. Designed for developers who want to learn Go, a Master Go course is available for a fee. Links to screencasts, hosted on YouTube, offer other additional advice.
https://appliedgo.net/
Written by Matt Aimonetti, a Splice co-founder, this tutorial on the Go programming language is sorted into twelve chapters: introduction, basics, types, collection types, control flow, methods, interfaces, concurrency, get set up, get your feet wet, tips and tricks, and exercises, each of which is further divided into sub-chapters, intended to be helpful to those who are new to programming, as well as to experienced programmers who are learning the the Go language.
http://www.golangbootcamp.com/
Also known as Golang, Go is an open-source programming language designed for building simple, fast, and reliable software. Go by Example is a hands-on introduction to the language using annotated example code that covers a wide variety of constructs, beginning with the traditional “Hello World” program, and moving on to values, variables, constants, for, if/else, switch, arrays, slices, maps, range, functions, multiple return values, variadic functions, and so on.
https://gobyexample.com/
The jobs board posts open positions, freelance and permanent, for Go programmers, developers, and engineers. Focused solely on Golang-related jobs prospective employers are charged a fee for posting a job, which may be promoted for an additional fee, while programmers, developers, or engineers seeking work may submit or edit their profiles without charge, completing a form that asks a variety of questions about qualifications, experience, and jobs sought.
https://www.golangprojects.com/
Created by The Hybrid Group, GoCV gives programmers who use the Go language access to the OpenCV computer vision library, supporting the latest releases of Go and OpenCV on Linux, macOS, and Windows, as well as the Intel OpenVINO toolkit. An overview of the tool is presented here, including its features, OS-specific installation instructions, examples of how to use GoCV in Go programs, and a blog. CVscope, a tool for exploring video image filters, is also introduced.
https://gocv.io/
Developed by Google, Go is an open-source programming language designed to produce simple, reliable, and efficient software. Released under a BSD-style license, binary distributions are available for Linux, macOS, Windows, and other platforms, and may be downloaded from the site. Also known as Golang, the Go Project is highlighted, full documentation is provided, and the standard library and other packages are available. An online playground allows users to try out the language in their browser.
https://golang.org/
Hosted on a $5 CoreOS instance on Digital Ocean, this site uses Go, and offers news and announcements regarding the language, code, videos, and programming jobs, as well as events, book reviews, and other resources. Topics that have been upvoted appear at the top of the lists, and is also sorted by topic (code, videos, jobs, events, books, casts, new, show, upvoted, talk), the latter allowing registered users to carry on a discussion relating to Go.
https://golangnews.com/
Created by JetBrains, GoLand is a cross-platform IDE built for Go developers, offering on-the-fly error detection and suggestions for corrections, safe refactorings, intelligent code completion, dead code detection, and documentation hints. Available by monthly or annual subscription, the company also offers a package that includes IntelliJ IDEA Ultimate, ReSharper Ultimate, and other IDEs. Its features, quick-start instructions, and support are available.
https://www.jetbrains.com/go/
Written by Alan A.A. Donovan, a staff engineer in Google’s infrastructure division and part of the Go team, and Brian W. Kernighan, who was in the Computing Science Research Center at Bell Labs where he worked on languages and tools for Unix, the Go book is available from Amazon, InformIt, and Barnes & Noble. The table of contents, preface, first chapter, and index are available in PDF format, along with reviews, translations, and errata. Author bios are also posted.
http://www.gopl.io/