SlideShare a Scribd company logo
Development with Go
- Manjitsing K. Valvi
Features of GO
● Binaries:
○ Go generates binaries for your applications with all the dependencies built-in.
○ removes the need for you to install necessary runtimes running your
application.
○ Eases the task of deploying applications and providing necessary updates
across thousands of installations. (support for multiple OS and processor
architectures)
● Language Design:
○ simple and easy to understand
○ “Do More with Less” is the mantra
Features of GO
● Powerful standard library:
○ Go comes with a powerful standard library, distributed as packages
● Static Typing:
○ Go is a statically typed language and the compiler works hard to ensure that
the code is not just able to compile correctly but other type conversions and
compatibility are taken care of.
● Concurrency Support:
○ Go Concurrency primitives via go routines and channels makes concurrent
programming easy. Its ability to take advantage of multi-core processor
architectures and efficient memory is one of the reasons while Go code is
today running some of the most heavily used applications that are able to
scale.
Features of GO
● Testing Support:
○ Go Language brings Unit Testing right into the language itself. It provides a
simple mechanism to write your unit tests in parallel with your code. The
tooling also provides support to understand code coverage by your tests,
benchmarking tests and writing example code that is used in generating your
code documentation.
GO in go
● Between 2018 and 2019 the Go community has grown by 147% - Github
Some real life apps made using Go
● Golang banking app — Monzo
● Golang ecommerce app — Allegro
● Golang music app — SoundCloud
● Golang dating app — Badoo
● Golang ridesharing app — Uber
● Golang project management app — Timesheets
● Number of users increasing...
GO by famous companies
● Google : Used in internal projects
● Uber : In geofence service
● Twitch : Suitable for live videos and simultaneous chats
● Dailymotion : Automation APIs
● SendGrid : Simultaneous Asynchronous Programming
● Dropbox : Scaling in efficient manner
● SoundCloud : Static Analysis in real time
GO in go
● Some projects written in Go
○ Docker
○ Kubernetes
○ Fedora CoreOS
○ InfluxDB
○ Istio
○ Traefik
○ Hugo
○ Terraform
○ CockroachDB
○ Gravitational Teleport
Course Teaching & Exam scheme
Recommended Books
References
● https://www.xoriant.com/blog/product-engineering/go-programming-language-key-features.html
● https://making.pusher.com/my-5-favourite-features-of-go-and-how-to-use-them/
● https://medium.com/predict/top-golang-apps-6-best-apps-made-with-golang-829646a7d238
● https://www.infoworld.com/article/3442978/10-open-source-projects-proving-the-power-of-googl
e-go.html
● https://brainhub.eu/library/companies-using-golang/

More Related Content

What's hot

A Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVMA Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVM
Charles Anderson
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
d0nn9n
 

What's hot (20)

Programming Methodology
Programming MethodologyProgramming Methodology
Programming Methodology
 
Kotlin & arrow: the functional way
Kotlin & arrow:  the functional wayKotlin & arrow:  the functional way
Kotlin & arrow: the functional way
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
Livecode widget course
Livecode widget courseLivecode widget course
Livecode widget course
 
Programming language
Programming languageProgramming language
Programming language
 
A Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVMA Shallow Survey of Alternative Languages on the JVM
A Shallow Survey of Alternative Languages on the JVM
 
Jsx language-notes
Jsx language-notesJsx language-notes
Jsx language-notes
 
Flutter Festivals GDSC ASEB | Introduction to Dart
Flutter Festivals GDSC ASEB | Introduction to DartFlutter Festivals GDSC ASEB | Introduction to Dart
Flutter Festivals GDSC ASEB | Introduction to Dart
 
Boosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedbackBoosting individual feedback with AutoFeedback
Boosting individual feedback with AutoFeedback
 
Algorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notesAlgorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notes
 
How to write c programme
How to write c programmeHow to write c programme
How to write c programme
 
Programming Methodology
Programming MethodologyProgramming Methodology
Programming Methodology
 
Whats New In C Sharp 4 And Vb 10
Whats New In C Sharp 4 And Vb 10Whats New In C Sharp 4 And Vb 10
Whats New In C Sharp 4 And Vb 10
 
Code: from Procedural to Object Oriented
Code: from Procedural to Object OrientedCode: from Procedural to Object Oriented
Code: from Procedural to Object Oriented
 
Presentation php
Presentation phpPresentation php
Presentation php
 
Kotlin & Arrow the functional way
Kotlin & Arrow the functional wayKotlin & Arrow the functional way
Kotlin & Arrow the functional way
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
 
An Introduction to Bazel
An Introduction to BazelAn Introduction to Bazel
An Introduction to Bazel
 
Data Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification ToolData Generation with PROSPECT: a Probability Specification Tool
Data Generation with PROSPECT: a Probability Specification Tool
 
Week1 dq3
Week1 dq3Week1 dq3
Week1 dq3
 

Similar to Features of go

Similar to Features of go (20)

When, how & why use golang in 2021 go benefits & use cases
When, how & why use golang in 2021  go benefits & use casesWhen, how & why use golang in 2021  go benefits & use cases
When, how & why use golang in 2021 go benefits & use cases
 
Node.Js Vs Golang.pdf
Node.Js Vs Golang.pdfNode.Js Vs Golang.pdf
Node.Js Vs Golang.pdf
 
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 ...
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
Golang Vs NodeJS: Which One To Choose For Your 2023
Golang Vs NodeJS: Which One To Choose For Your 2023Golang Vs NodeJS: Which One To Choose For Your 2023
Golang Vs NodeJS: Which One To Choose For Your 2023
 
Golang job support.pptx
Golang job support.pptxGolang job support.pptx
Golang job support.pptx
 
Golang web development
Golang web developmentGolang web development
Golang web development
 
Golang, Future of Programming Language.
Golang, Future of Programming Language.Golang, Future of Programming Language.
Golang, Future of Programming Language.
 
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 or NodeJs: Make Your Choice for Long Term Projects
Golang or NodeJs: Make Your Choice for Long Term ProjectsGolang or NodeJs: Make Your Choice for Long Term Projects
Golang or NodeJs: Make Your Choice for Long Term Projects
 
Go programming language
Go programming languageGo programming language
Go programming language
 
5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software Development5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software Development
 
Why golang
Why golangWhy golang
Why golang
 
Why golang
Why golangWhy golang
Why golang
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Why Golang? Settling the Debate Once and For All
Why Golang? Settling the Debate Once and For AllWhy Golang? Settling the Debate Once and For All
Why Golang? Settling the Debate Once and For All
 
Node js vs golang -which one is better ?
Node js vs golang -which one is better ?Node js vs golang -which one is better ?
Node js vs golang -which one is better ?
 
Golang : A Hype or the Future?
Golang : A Hype or the Future?Golang : A Hype or the Future?
Golang : A Hype or the Future?
 
NodeJS vs Golang - A detailed comparison
NodeJS vs Golang - A detailed comparisonNodeJS vs Golang - A detailed comparison
NodeJS vs Golang - A detailed comparison
 

More from Manjitsing Valvi

More from Manjitsing Valvi (16)

Composite types
Composite typesComposite types
Composite types
 
Basic types
Basic typesBasic types
Basic types
 
Basic constructs ii
Basic constructs  iiBasic constructs  ii
Basic constructs ii
 
Basic constructs i
Basic constructs  iBasic constructs  i
Basic constructs i
 
Introduction to golang
Introduction to golangIntroduction to golang
Introduction to golang
 
Pointers & functions
Pointers &  functionsPointers &  functions
Pointers & functions
 
Operators
OperatorsOperators
Operators
 
Methods
MethodsMethods
Methods
 
Digital marketing marketing strategies for digital world
Digital marketing  marketing strategies for digital worldDigital marketing  marketing strategies for digital world
Digital marketing marketing strategies for digital world
 
Digital marketing channels
Digital marketing channelsDigital marketing channels
Digital marketing channels
 
Digital marketing techniques
Digital marketing techniquesDigital marketing techniques
Digital marketing techniques
 
Social media marketing & managing cybersocial campaign
Social media marketing & managing cybersocial campaignSocial media marketing & managing cybersocial campaign
Social media marketing & managing cybersocial campaign
 
Creating marketing effective online store
Creating marketing effective online storeCreating marketing effective online store
Creating marketing effective online store
 
Social media marketing tech tools and optimization for search engines
Social media marketing   tech tools and optimization for search enginesSocial media marketing   tech tools and optimization for search engines
Social media marketing tech tools and optimization for search engines
 
Digital marketing managing cybersocial campaign
Digital marketing managing cybersocial campaignDigital marketing managing cybersocial campaign
Digital marketing managing cybersocial campaign
 
Social media marketing
Social media marketingSocial media marketing
Social media marketing
 

Recently uploaded

CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
Atif Razi
 

Recently uploaded (20)

CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
İTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering WorkshopİTÜ CAD and Reverse Engineering Workshop
İTÜ CAD and Reverse Engineering Workshop
 
Hall booking system project report .pdf
Hall booking system project report  .pdfHall booking system project report  .pdf
Hall booking system project report .pdf
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES  INTRODUCTION UNIT-IENERGY STORAGE DEVICES  INTRODUCTION UNIT-I
ENERGY STORAGE DEVICES INTRODUCTION UNIT-I
 
Top 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering ScientistTop 13 Famous Civil Engineering Scientist
Top 13 Famous Civil Engineering Scientist
 
Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
Online resume builder management system project report.pdf
Online resume builder management system project report.pdfOnline resume builder management system project report.pdf
Online resume builder management system project report.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Explosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdfExplosives Industry manufacturing process.pdf
Explosives Industry manufacturing process.pdf
 
A case study of cinema management system project report..pdf
A case study of cinema management system project report..pdfA case study of cinema management system project report..pdf
A case study of cinema management system project report..pdf
 
Toll tax management system project report..pdf
Toll tax management system project report..pdfToll tax management system project report..pdf
Toll tax management system project report..pdf
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdfDanfoss NeoCharge Technology -A Revolution in 2024.pdf
Danfoss NeoCharge Technology -A Revolution in 2024.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 

Features of go

  • 1. Development with Go - Manjitsing K. Valvi
  • 2. Features of GO ● Binaries: ○ Go generates binaries for your applications with all the dependencies built-in. ○ removes the need for you to install necessary runtimes running your application. ○ Eases the task of deploying applications and providing necessary updates across thousands of installations. (support for multiple OS and processor architectures) ● Language Design: ○ simple and easy to understand ○ “Do More with Less” is the mantra
  • 3. Features of GO ● Powerful standard library: ○ Go comes with a powerful standard library, distributed as packages ● Static Typing: ○ Go is a statically typed language and the compiler works hard to ensure that the code is not just able to compile correctly but other type conversions and compatibility are taken care of. ● Concurrency Support: ○ Go Concurrency primitives via go routines and channels makes concurrent programming easy. Its ability to take advantage of multi-core processor architectures and efficient memory is one of the reasons while Go code is today running some of the most heavily used applications that are able to scale.
  • 4. Features of GO ● Testing Support: ○ Go Language brings Unit Testing right into the language itself. It provides a simple mechanism to write your unit tests in parallel with your code. The tooling also provides support to understand code coverage by your tests, benchmarking tests and writing example code that is used in generating your code documentation.
  • 5. GO in go ● Between 2018 and 2019 the Go community has grown by 147% - Github Some real life apps made using Go ● Golang banking app — Monzo ● Golang ecommerce app — Allegro ● Golang music app — SoundCloud ● Golang dating app — Badoo ● Golang ridesharing app — Uber ● Golang project management app — Timesheets ● Number of users increasing...
  • 6. GO by famous companies ● Google : Used in internal projects ● Uber : In geofence service ● Twitch : Suitable for live videos and simultaneous chats ● Dailymotion : Automation APIs ● SendGrid : Simultaneous Asynchronous Programming ● Dropbox : Scaling in efficient manner ● SoundCloud : Static Analysis in real time
  • 7. GO in go ● Some projects written in Go ○ Docker ○ Kubernetes ○ Fedora CoreOS ○ InfluxDB ○ Istio ○ Traefik ○ Hugo ○ Terraform ○ CockroachDB ○ Gravitational Teleport
  • 8. Course Teaching & Exam scheme
  • 10. References ● https://www.xoriant.com/blog/product-engineering/go-programming-language-key-features.html ● https://making.pusher.com/my-5-favourite-features-of-go-and-how-to-use-them/ ● https://medium.com/predict/top-golang-apps-6-best-apps-made-with-golang-829646a7d238 ● https://www.infoworld.com/article/3442978/10-open-source-projects-proving-the-power-of-googl e-go.html ● https://brainhub.eu/library/companies-using-golang/