Introduction to Go-Lang

Folio3 Software
27 May 2015

Contenu connexe


Introduction to Go-Lang

  1. Introduction ToIntroduction To Go-LangGo-Lang
  2. Folio3 – OverviewFolio3 – Overview @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 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
  6. Areas of Focus: Enterprise  Automating workflows  Cloud based solutions  Application integration  Platform development  Healthcare  Mobile Enterprise  Digital Media  Supply Chain
  7. Some of Our Enterprise 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 Our Mobile 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 Our Web Clients
  12. @folio_3 Introduction ToIntroduction To Go-LangGo-Lang
  13. History  Name derived from Gopher  Created by Google Engineers  A language for the multi core processor  Search for Faster, Compiled and ease of Programming
  14. Features  Multi platform Language  Static Language  Type-safe / Memory-safe  Garbage collected  Fast Compilation
  15. Features  Structs instead of classes  No Inheritance  No overloading  Concurrency  Multiple return values
  16. Installation  Download from  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 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.
  20. 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.
  21. 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.
  22. 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.
  23. Contact  For more details about our services, please get in touch with us. US Office: (408) 365-4638