SlideShare uma empresa Scribd logo
1 de 15
Google GO (The
Programming Language)
By-Ajay Singh
Computer Science(8th Sem)
HISTORY
 Made by Rob Pike and Ken Thompson in 2008

 Officially launched in 2012
 GO 1.0 was the first version.
 Recently GO 1.2 was launched on 1st Dec 2013.

 Born out of a need for Ease of Programming combined with Type safety &
Portability
BRIEF OVERVIEW
 Open Source Language driven by a large Community

 Suitable for Modern Systems and Large Scale programming
 Go aims to combine the safety & performance of Statically typed compiled
language with expressiveness & convenience of Dynamically typed interpreted
language
 Extension of file is .go (e.g- HelloWorld.go)
FEATURES Of GO
 Easy to Learn

 No Exception Handling

 Compilation is Very Fast

 No classes(Go is a Procedural
Language)

 Deployment is Easy
 Easy Concurrency via Channels
 Uses Garbage Collection
 Uses Interfaces
 Functions have multiple return
statements

 No overloading

 No inheritance but embedding
 No constructors only simple
functions
SYNTAX OVERVIEW
 Looks similar to C Language
 End of line semicolon are
Optional

 Variable declaration is
Optional
 Variable name is followed by
its type
 Variables can also be
declared by initialization
 Visibility of functions is
controlled using
Capitalization
 If First letter of Function
name is CAPITAL then it is
publically available outside
the package
 If First letter of function
name is small then it will be
private
HelloWorld.go
Set Of STANDARD TYPES
Modern Standard Library & Frameworks
Standard Library(Packages)

Frameworks

 Json,xml

 Revel

 net./http

 Gorilla

 Text/template and html/template

 Web.go

 Time
 IO formatting
 Images
 And many more….
GO TOOLS!(Commands)
 Go run hello.go [execution of program]

 Go test [runs unit testing]
 Go install [install local packages]
 Go get [install external packages]

 Go fmt [format the sources]
 Go doc [source documentation]
USERS of GO
 Google

 Heroku
 Mozilla
 Cloudfare

 Canonical
 Bit.ly
CONCURRENCY
 It talks about composition of independently executing processes

 It is done with the help of Goroutines and Channels
 Goroutine: is a light weighted function which behaves like a thread
 Channel: helps in Synchronization and Communication between Goroutines

 Upto thousands of Goroutines can execute simultaneously
Future Of GO
 GO 1.2 was launched recently in Dec 2013

 Currently Google is focusing on increasing the performance
 Fixing of Bugs related to Garbage Collection and Bootstrapping is being done
 GO 2.0 has not been started yet
Conclusion
 Go has nothing cool/special

 But it is a nice language
 Easy to Learn
 That will make you more Productive

 And it is well suited to Real World Problems
 REFERENCE : http://golang.org
 THANK YOU!

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
ATO 2014 - So You Think You Know 'Go'? The Go Programming LanguageATO 2014 - So You Think You Know 'Go'? The Go Programming Language
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
 
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
Mphasis Digital - Use Go (gloang) for system programming, distributed systems...
 
An introduction to go programming language
An introduction to go programming languageAn introduction to go programming language
An introduction to go programming language
 
Go Lang
Go LangGo Lang
Go Lang
 
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
 [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno [INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
 
Why you should care about Go (Golang)
Why you should care about Go (Golang)Why you should care about Go (Golang)
Why you should care about Go (Golang)
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 
Go Programming Language by Google
Go Programming Language by GoogleGo Programming Language by Google
Go Programming Language by Google
 
Go lang
Go langGo lang
Go lang
 
Go Programming language, golang
Go Programming language, golangGo Programming language, golang
Go Programming language, golang
 
Building Command Line Tools with Golang
Building Command Line Tools with GolangBuilding Command Line Tools with Golang
Building Command Line Tools with Golang
 
Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind Plone
 
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
Lennart Regebro   What Zope Did Wrong (And What To Do Instead)Lennart Regebro   What Zope Did Wrong (And What To Do Instead)
Lennart Regebro What Zope Did Wrong (And What To Do Instead)
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLang
 
Golang
GolangGolang
Golang
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Dion computerprogramming
Dion computerprogrammingDion computerprogramming
Dion computerprogramming
 
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...ItalianSkin: an improvement in the accessibility of the Plone interface in or...
ItalianSkin: an improvement in the accessibility of the Plone interface in or...
 
Practical implementation of Natural language processing with python
Practical implementation of Natural language processing with pythonPractical implementation of Natural language processing with python
Practical implementation of Natural language processing with python
 

Semelhante a Google GO

Developing GNOME Apps in Javascript
Developing GNOME Apps in JavascriptDeveloping GNOME Apps in Javascript
Developing GNOME Apps in Javascript
Felipe Borges
 
Go Within Cloud Foundry
Go Within Cloud FoundryGo Within Cloud Foundry
Go Within Cloud Foundry
Platform CF
 

Semelhante a Google GO (20)

Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
 
Go programing language
Go programing languageGo programing language
Go programing language
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Developing GNOME Apps in Javascript
Developing GNOME Apps in JavascriptDeveloping GNOME Apps in Javascript
Developing GNOME Apps in Javascript
 
Golang, Future of Programming Language.
Golang, Future of Programming Language.Golang, Future of Programming Language.
Golang, Future of Programming Language.
 
Beginning development in go
Beginning development in goBeginning development in go
Beginning development in go
 
Go Within Cloud Foundry
Go Within Cloud FoundryGo Within Cloud Foundry
Go Within Cloud Foundry
 
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of AndroidGomobile: gophers in the land of Android
Gomobile: gophers in the land of Android
 
Hire golang developers and make the shift to brighter business future (build ...
Hire golang developers and make the shift to brighter business future (build ...Hire golang developers and make the shift to brighter business future (build ...
Hire golang developers and make the shift to brighter business future (build ...
 
An Introduction to Go
An Introduction to GoAn Introduction to Go
An Introduction to Go
 
Fundamentals of Golang
Fundamentals of GolangFundamentals of Golang
Fundamentals of Golang
 
Advantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworksAdvantages of golang development services & 10 most used go frameworks
Advantages of golang development services & 10 most used go frameworks
 
Golang presentaion-2018-07-26
Golang presentaion-2018-07-26Golang presentaion-2018-07-26
Golang presentaion-2018-07-26
 
Go vs Python Comparison
Go vs Python ComparisonGo vs Python Comparison
Go vs Python Comparison
 
Golang introduction
Golang introductionGolang introduction
Golang introduction
 
Golang : A Hype or the Future?
Golang : A Hype or the Future?Golang : A Hype or the Future?
Golang : A Hype or the Future?
 
What does people say when they switch to Go?
What does people say when they switch to Go?What does people say when they switch to Go?
What does people say when they switch to Go?
 
A gentle intro to Golang and the Go-universe
A gentle intro to Golang and the Go-universeA gentle intro to Golang and the Go-universe
A gentle intro to Golang and the Go-universe
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Google GO

  • 1. Google GO (The Programming Language) By-Ajay Singh Computer Science(8th Sem)
  • 2. HISTORY  Made by Rob Pike and Ken Thompson in 2008  Officially launched in 2012  GO 1.0 was the first version.  Recently GO 1.2 was launched on 1st Dec 2013.  Born out of a need for Ease of Programming combined with Type safety & Portability
  • 3. BRIEF OVERVIEW  Open Source Language driven by a large Community  Suitable for Modern Systems and Large Scale programming  Go aims to combine the safety & performance of Statically typed compiled language with expressiveness & convenience of Dynamically typed interpreted language  Extension of file is .go (e.g- HelloWorld.go)
  • 4. FEATURES Of GO  Easy to Learn  No Exception Handling  Compilation is Very Fast  No classes(Go is a Procedural Language)  Deployment is Easy  Easy Concurrency via Channels  Uses Garbage Collection  Uses Interfaces  Functions have multiple return statements  No overloading  No inheritance but embedding  No constructors only simple functions
  • 5. SYNTAX OVERVIEW  Looks similar to C Language  End of line semicolon are Optional  Variable declaration is Optional  Variable name is followed by its type  Variables can also be declared by initialization
  • 6.  Visibility of functions is controlled using Capitalization  If First letter of Function name is CAPITAL then it is publically available outside the package  If First letter of function name is small then it will be private
  • 9. Modern Standard Library & Frameworks Standard Library(Packages) Frameworks  Json,xml  Revel  net./http  Gorilla  Text/template and html/template  Web.go  Time  IO formatting  Images  And many more….
  • 10. GO TOOLS!(Commands)  Go run hello.go [execution of program]  Go test [runs unit testing]  Go install [install local packages]  Go get [install external packages]  Go fmt [format the sources]  Go doc [source documentation]
  • 11. USERS of GO  Google  Heroku  Mozilla  Cloudfare  Canonical  Bit.ly
  • 12. CONCURRENCY  It talks about composition of independently executing processes  It is done with the help of Goroutines and Channels  Goroutine: is a light weighted function which behaves like a thread  Channel: helps in Synchronization and Communication between Goroutines  Upto thousands of Goroutines can execute simultaneously
  • 13. Future Of GO  GO 1.2 was launched recently in Dec 2013  Currently Google is focusing on increasing the performance  Fixing of Bugs related to Garbage Collection and Bootstrapping is being done  GO 2.0 has not been started yet
  • 14. Conclusion  Go has nothing cool/special  But it is a nice language  Easy to Learn  That will make you more Productive  And it is well suited to Real World Problems
  • 15.  REFERENCE : http://golang.org  THANK YOU!