Difference between revisions of "Team Go"

From CDOT Wiki
Jump to: navigation, search
Line 8: Line 8:
 
The Go language originated as an experiment by a few google engineers with the intention to take all the positive characteristics of existing languages and resolve the common criticism.  
 
The Go language originated as an experiment by a few google engineers with the intention to take all the positive characteristics of existing languages and resolve the common criticism.  
 
Go is meant to be statically typed scalable language like C++ or java while also being productive and readable; Go tries to avoid the repetition of too many mandatory keywords
 
Go is meant to be statically typed scalable language like C++ or java while also being productive and readable; Go tries to avoid the repetition of too many mandatory keywords
 +
== Understanding the language ==
 +
'''Syntax'''
 +
 +
Optional concise variable declaration and initialization
 +
 +
x := 0 not int x = 0
 +
 +
Remote package management
 +
 +
go get
 +
 +
'''Problem Approaches'''
 +
 +
Built-in concurrency primitives!
 +
 +
Light-weight processes, channels and select statements
 +
 +
Uses interface system instead of virtual inheritance
 +
 +
'''Function returns'''
 +
 +
Functions may return multiple values, and returning a result, err pair is the conventional way a function indicates an error to its caller in Go.
 +
 +
== Concurrency ==
 +
 +
making progress on more than one task simultaneously is known as concurrency.
 +
'''Concurrency is not parallelism!'''

Revision as of 21:18, 17 December 2017

Team Go

Group Members

  1. Suhaib Saqib
  2. Liam Newell
  3. eMail All

Go Programming Language (Golang)

Go is an open source programming language made by engineers at Google. The project started development in 2007 and was officially announced in 2009. Built in the gc compiler Google Go is developed as an open source software. The language targets all three major platforms (Linux, OS X and windows) but can also run on mobile devices. The Go language originated as an experiment by a few google engineers with the intention to take all the positive characteristics of existing languages and resolve the common criticism. Go is meant to be statically typed scalable language like C++ or java while also being productive and readable; Go tries to avoid the repetition of too many mandatory keywords

Understanding the language

Syntax

Optional concise variable declaration and initialization

x := 0 not int x = 0

Remote package management

go get

Problem Approaches

Built-in concurrency primitives!

Light-weight processes, channels and select statements

Uses interface system instead of virtual inheritance

Function returns

Functions may return multiple values, and returning a result, err pair is the conventional way a function indicates an error to its caller in Go.

Concurrency

making progress on more than one task simultaneously is known as concurrency. Concurrency is not parallelism!