KEMBAR78
Introduction to Go-Lang | PPT
Introduction ToIntroduction To
Go-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 To
Go-LangGo-Lang
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 => $GOROOTbin
 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.
contact@folio3.com
US Office: (408) 365-4638
www.folio3.com

Introduction to Go-Lang

  • 1.
  • 2.
    Folio3 – OverviewFolio3– Overview www.folio3.com @folio_3
  • 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
  • 4.
    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)
  • 5.
    Folio3 At aGlance  Founded in 2005  Over 200 full time employees  Offices in the US, Canada, Bulgaria & Pakistan  Palo Alto, CA.  Sofia, Bulgaria  Karachi, Pakistan Toronto, Canada
  • 6.
    Areas of Focus:Enterprise  Automating workflows  Cloud based solutions  Application integration  Platform development  Healthcare  Mobile Enterprise  Digital Media  Supply Chain
  • 7.
    Some of OurEnterprise Clients
  • 8.
    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
  • 9.
    Some of OurMobile Clients
  • 10.
    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
  • 11.
    Some of OurWeb Clients
  • 12.
  • 13.
    History  Name derivedfrom Gopher  Created by Google Engineers  A language for the multi core processor  Search for Faster, Compiled and ease of Programming
  • 14.
    Features  Multi platformLanguage  Static Language  Type-safe / Memory-safe  Garbage collected  Fast Compilation
  • 15.
    Features  Structs insteadof classes  No Inheritance  No overloading  Concurrency  Multiple return values
  • 16.
    Installation  Download fromhttp://golang.org/doc/install  Untar/Unzip from the folder  Set the following Environment variables  GOROOT => Installation directory of Go (Windows = c:windows)  PATH => $GOROOTbin  GOPATH => $GOROOT;(Add other library folders separated by ;)
  • 17.
    What are Structs?  Collection of fields  Similar concept to classes in Object oriented languages
  • 18.
    What are structs?  Structs can also have functions just like classes.
  • 19.
    Concurrency  Go Langprovides 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.
  • 20.
    Channels  Channels arethe pipes that connect concurrent goroutines. You can send values into channels from one goroutine and receive those values into another goroutine.
  • 21.
    Channels  We passan 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.
  • 22.
    Compilation/Deployment  Go codecan 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.
  • 23.
    Contact  For moredetails about our services, please get in touch with us. contact@folio3.com US Office: (408) 365-4638 www.folio3.com