23
Introduction To Introduction To Go-Lang Go-Lang www.folio3.com @folio_3

Introduction to Go-Lang

Embed Size (px)

Citation preview

Page 1: Introduction to Go-Lang

Introduction ToIntroduction ToGo-LangGo-Lang

www.folio3.com@folio_3

Page 2: Introduction to Go-Lang

Folio3 – OverviewFolio3 – Overview

www.folio3.com @folio_3

Page 3: Introduction to Go-Lang

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

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

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

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

Some of Our Enterprise Clients

Page 8: Introduction to Go-Lang

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

Some of Our Mobile Clients

Page 10: Introduction to Go-Lang

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

Some of Our Web Clients

Page 12: Introduction to Go-Lang

www.folio3.com @folio_3

Introduction ToIntroduction ToGo-LangGo-Lang

Page 13: Introduction to Go-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

Page 14: Introduction to Go-Lang

Features

Multi platform Language

Static Language

Type-safe / Memory-safe

Garbage collected

Fast Compilation

Page 15: Introduction to Go-Lang

Features

Structs instead of classes

No Inheritance

No overloading

Concurrency

Multiple return values

Page 16: Introduction to Go-Lang

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

What are Structs ?

Collection of fields Similar concept to classes in Object oriented languages

Page 18: Introduction to Go-Lang

What are structs ?

Structs can also have functions just like classes.

Page 19: Introduction to Go-Lang

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

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

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

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

Contact

For more details about our services, please get in touch

with us.

[email protected]

US Office: (408) 365-4638

www.folio3.com