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