Abstract :Go is a compiled, garbage-collected, concurrent programming language developed by Google Inc.



The initial design of Go was started in September 2007 by Robert Griesemer, Rob Pike, and Ken Thompson, building on previous work related to the Inferno operating system.

Go was officially announced in November 2009, with implementations released for the Linux and Mac OS X platforms.As of the launch, Go was not considered to be ready for adoption in production environments.

The syntax of Go is close to that of C except for the type declarations; other syntactical differences are the missing parentheses around for and if expressions.

It is designed for exceptionally fast compilation times, even on modest hardware. The language requires garbage collection.

Certain concurrency-related structural conventions of Go (channels and alternative channel inputs) are borrowed from Tony Hoare's CSP, but many (such as Edsger Dijkstra's guarded commands) are omitted.

Unlike previous concurrent programming languages such as occam or Limbo, Go does not provide any in-built notion of safe or verifiable concurrency.

Go also has some features of the Pi calculus such as channel passing.

Features not included in Go are exception handling, type inheritance, generic programming, assertions, and method overloading and pointer arithmetic.

Of these, the Go authors express an openness to generic programming and exceptions, explicitly argue against assertions and pointer arithmetic, while defending the choice to omit type inheritance on efficiency grounds.

Unlike Java, maps (also known as hashes or dictionaries) are an intrinsic part of the language, as are strings.

Visibility of functions outside of their defining file is defined implicitly according to the capitalization of their identifier, in contrast to C, where an explicit static keyword is used.

Please find the following attachments "Go Programming Language From Google seminar/pdf download" here
...................