Top Banner
Presented by John Potocny @ATO 2014 So you think you know ‘Go’? The Go Programming Language
34

So You Think You Know 'Go'? The Go Programming Language

Jul 15, 2015

Download

Technology

All Things Open
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: So You Think You Know 'Go'? The Go Programming Language

Presented by John Potocny @ATO 2014

So you think you know ‘Go’?

The Go Programming Language

Page 2: So You Think You Know 'Go'? The Go Programming Language

About Me

Backend Developer at VividCortex, BCE from Kettering University

Programming Experience: Mainly C#/Java, Embedded C/C++, some Python

Twitter: @JohnPotocny1

Email: [email protected]

Page 3: So You Think You Know 'Go'? The Go Programming Language

A Brief History

● Created in 2007 by Robert Griesemer, Rob Pike, & Ken Thompson

● Developed by Google

● Open Source - since Nov 10, 2009 (Public Announcement)

● Currently v1.3.3 (Stable)

Page 4: So You Think You Know 'Go'? The Go Programming Language

What Kind of Language is Go?

Page 5: So You Think You Know 'Go'? The Go Programming Language

Language Features

Page 6: So You Think You Know 'Go'? The Go Programming Language

Actually, It’s More Like This

Page 7: So You Think You Know 'Go'? The Go Programming Language

Great Tools Built-In

Page 8: So You Think You Know 'Go'? The Go Programming Language

Compiles Quickly - Native Binary

Page 9: So You Think You Know 'Go'? The Go Programming Language

Garbage Collected

Page 10: So You Think You Know 'Go'? The Go Programming Language

Statically Typed

Page 11: So You Think You Know 'Go'? The Go Programming Language

Interfaces and Composition

Page 12: So You Think You Know 'Go'? The Go Programming Language

Concurrency

Page 13: So You Think You Know 'Go'? The Go Programming Language

What Did Go Get Rid Of?

Page 14: So You Think You Know 'Go'? The Go Programming Language

Remember The Goals!

Page 15: So You Think You Know 'Go'? The Go Programming Language

Enough Chat, Let’s See Some Code!

Page 16: So You Think You Know 'Go'? The Go Programming Language

A “Modern” Hello World

Page 17: So You Think You Know 'Go'? The Go Programming Language

A “Modern” Hello World

Page 18: So You Think You Know 'Go'? The Go Programming Language

How About a Real Example?

Page 19: So You Think You Know 'Go'? The Go Programming Language

How About a Web Server?

http://play.golang.org/p/r-__BazPxE

Page 20: So You Think You Know 'Go'? The Go Programming Language

How About a Web Server?

http://play.golang.org/p/r-__BazPxE

Or Even:

Page 21: So You Think You Know 'Go'? The Go Programming Language

Server With Limited Connections?

http://play.golang.org/p/OMian3YwlD

Page 22: So You Think You Know 'Go'? The Go Programming Language

No Language Is Perfect...

Page 23: So You Think You Know 'Go'? The Go Programming Language

A Fun Example

http://play.golang.org/p/kPFCYuNTTG

Page 24: So You Think You Know 'Go'? The Go Programming Language

Other Things?

Page 25: So You Think You Know 'Go'? The Go Programming Language

No Generics

Page 26: So You Think You Know 'Go'? The Go Programming Language

Go Has Complex Numbers

Page 27: So You Think You Know 'Go'? The Go Programming Language

Static Types - No Implicit Conversion

Page 28: So You Think You Know 'Go'? The Go Programming Language
Page 29: So You Think You Know 'Go'? The Go Programming Language

Strict Compiler Interrupts Flow

Page 30: So You Think You Know 'Go'? The Go Programming Language

Race Conditions Still Exist

Page 31: So You Think You Know 'Go'? The Go Programming Language

Wait, Go Has ‘goto’!?

Page 32: So You Think You Know 'Go'? The Go Programming Language

Other Fun Keywords

Proof: http://play.golang.org/p/dFBcMMHq0a

Page 33: So You Think You Know 'Go'? The Go Programming Language

Questions?

Page 34: So You Think You Know 'Go'? The Go Programming Language

Thank You!