introduction to go-lang
TRANSCRIPT
Introduction ToIntroduction ToGo-LangGo-Lang
www.folio3.com@folio_3
Folio3 – OverviewFolio3 – Overview
www.folio3.com @folio_3
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
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)
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
Areas of Focus: Enterprise Automating workflows
Cloud based solutions
Application integration
Platform development
Healthcare
Mobile Enterprise
Digital Media
Supply Chain
Some of Our Enterprise Clients
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
Some of Our Mobile Clients
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
Some of Our Web Clients
www.folio3.com @folio_3
Introduction ToIntroduction ToGo-LangGo-Lang
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
Features
Multi platform Language
Static Language
Type-safe / Memory-safe
Garbage collected
Fast Compilation
Features
Structs instead of classes
No Inheritance
No overloading
Concurrency
Multiple return values
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 ;)
What are Structs ?
Collection of fields Similar concept to classes in Object oriented languages
What are structs ?
Structs can also have functions just like classes.
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.
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.
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.
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.
Contact
For more details about our services, please get in touch
with us.
US Office: (408) 365-4638
www.folio3.com