introduction to go-lang
TRANSCRIPT
![Page 1: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/1.jpg)
Introduction ToIntroduction ToGo-LangGo-Lang
www.folio3.com@folio_3
![Page 2: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/2.jpg)
Folio3 – OverviewFolio3 – Overview
www.folio3.com @folio_3
![Page 3: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/3.jpg)
Who We Are
We are a Development Partner for our customers
Design software solutions, not just implement them
Focus on the solution – Platform and technology agnostic
Expertise in building applications that are:
Mobile Social Cloud-based Gamified
![Page 4: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/4.jpg)
What We Do Areas of Focus
Enterprise
Custom enterprise applications
Product development targeting the enterprise
Mobile
Custom mobile apps for iOS, Android, Windows Phone, BB OS
Mobile platform (server-to-server) development
Social Media
CMS based websites for consumers and enterprise (corporate, consumer,
community & social networking)
Social media platform development (enterprise & consumer)
![Page 5: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/5.jpg)
Folio3 At a Glance Founded in 2005
Over 200 full time employees
Offices in the US, Canada, Bulgaria & Pakistan
Palo Alto, CA. Sofia, Bulgaria
Karachi, Pakistan
Toronto, Canada
![Page 6: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/6.jpg)
Areas of Focus: Enterprise Automating workflows
Cloud based solutions
Application integration
Platform development
Healthcare
Mobile Enterprise
Digital Media
Supply Chain
![Page 7: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/7.jpg)
Some of Our Enterprise Clients
![Page 8: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/8.jpg)
Areas of Focus: Mobile Serious enterprise applications for Banks,
Businesses
Fun consumer apps for app discovery,
interaction, exercise gamification and play
Educational apps
Augmented Reality apps
Mobile Platforms
![Page 9: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/9.jpg)
Some of Our Mobile Clients
![Page 10: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/10.jpg)
Areas of Focus: Web & Social Media Community Sites based on
Content Management
Systems
Enterprise Social Networking
Social Games for Facebook &
Mobile
Companion Apps for games
![Page 11: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/11.jpg)
Some of Our Web Clients
![Page 12: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/12.jpg)
www.folio3.com @folio_3
Introduction ToIntroduction ToGo-LangGo-Lang
![Page 13: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/13.jpg)
History
History
Name derived from Gopher
Created by Google Engineers
A language for the multi core processor
Search for Faster, Compiled and ease of Programming
![Page 14: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/14.jpg)
Features
Multi platform Language
Static Language
Type-safe / Memory-safe
Garbage collected
Fast Compilation
![Page 15: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/15.jpg)
Features
Structs instead of classes
No Inheritance
No overloading
Concurrency
Multiple return values
![Page 16: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/16.jpg)
Installation
Download from http://golang.org/doc/install
Untar/Unzip from the folder
Set the following Environment variables
GOROOT => Installation directory of Go (Windows =
c:\windows\)
PATH => $GOROOT\bin
GOPATH => $GOROOT;(Add other library folders
separated by ;)
![Page 17: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/17.jpg)
What are Structs ?
Collection of fields Similar concept to classes in Object oriented languages
![Page 18: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/18.jpg)
What are structs ?
Structs can also have functions just like classes.
![Page 19: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/19.jpg)
Concurrency Go Lang provides the easiest way to create a new
thread. using the go construct before the function executes
the function in a new thread. These are referred to as Go-Routines.
![Page 20: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/20.jpg)
Channels
Channels are the pipes that connect concurrent
goroutines. You can send values into channels from one
goroutine and receive those values into another
goroutine.
![Page 21: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/21.jpg)
Channels
We pass an object to channel by using <- operator on
the right side. Similarly, using the <- operator on the
left side of the channel will read off of it.
![Page 22: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/22.jpg)
Compilation/Deployment
Go code can be compiled into binary code and does
not need Go enviroment to run
Simply running “go install script.go” will create a
binary file of the same name(without .go) extension in
the GO_BIN directory.
![Page 23: Introduction to Go-Lang](https://reader031.vdocument.in/reader031/viewer/2022032222/55c2a04bbb61eb91358b464d/html5/thumbnails/23.jpg)
Contact
For more details about our services, please get in touch
with us.
US Office: (408) 365-4638
www.folio3.com