addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Go Session 4 - Programming in Go

  • Aug 13, 2014 · 6:00 PM

Go Session #4 : Programming in Go

Agenda

6:00-6:15  Networking/Setup
6:15-8:15   Instruction and Programming
8:15           Wrap

Josh Ellithorpe from Apcera will be leading this Go Session and taking you through some basic Go programming. 

Please have Go installed and running per the requirements below.


Instructor:  Josh Ellithorpe

Josh Ellithorpe is an experienced developer who likes Go and terminal prompts. More on his background and work can be found here


Program Agenda

Go Tooling
You'll see some basic apps that are bundled with Go, walk through the build chain, and run through how to get documentation from godoc.

Go Testing
You'll add a small method to the sample app and write and run a test file. This will form the basis for writing tests for future lessons.

Basics of Go
This part of the exercise will go over the basics of the Go language. You'll find out what you need to know before jumping into the standard library. We'll go over the following and then cover the standard library and then get to some programming.

* Types (Numbers, Strings, Booleans)
* Variables (Scope, Multiple Assignment, Constants)
* Control Structures (For, If, Switch)
* Arrays, Slices, Maps* Errors
* Functions (Basic Syntax, Variadic, Closures, Defer, Panic, Recover)
* Pointers* Structs/Interfaces
* Concurency (Goroutines, Channels)

Go Exercises

Once you have a basics, we'll provide some exercises to put these to good use. You'll be encouraged to work within Floobits to solve small challenges relating to one or more of the following packages.

* fmt
* strings
* io/ioutil
* os
* errors
* json
* http
* sync

 

Intended Audience

• Solid programming experience in a major language
• Basic experience running Go programs
• Comfortable working on the command line



Requirements
1. Required System Setup

* Go 1.2/1.3 (link)

* Text Editor with Go support.  
   • Sublime Text with GoSublime (link)
   • vim (link)
   • Emacs (link)
   • LiteIDE (link)

* Git (link) + Github account

* Floobits to work on shared documents (link)

2. Compiling and Running a Go Program

Attendees should be able to compile and run basic Go programs in advance of attending. We'll run a simple Hello World example at the onset and it's expected that it'll run on your machine. The point is to get any installation problems out of the way so we can get to the instruction and the exercises. This exercise will also serve as the start of the live document we'll work on via Floobits.




About the Event Sponsors/Hosts

Apcera is a managed service technology company that helps organizations successfully take advantage of today's groundbreaking technology. Continuum by Apcera is an Agile Policy Platform offering technology management smarter, more efficient controls that align development and operations to go faster, safely. We're now hiring! (www.apcera.com)

 

Other Sponsors

Iron.io is the maker of IronMQ, a highly available message queue, and IronWorker, an elastic task queue/worker service. Iron.io's services are designed for doing things asynchronously and operating at scale. (www.iron.io)

 

Join or login to comment.

  • Josh E.

    Thanks to everyone who attended. Had a great night. Hope to see you all again. =)

    3 · August 13, 2014

    • Perry C.

      Great meetup, thanks for answering all of our questions.

      August 16, 2014

  • Jonathan

    Unfortunately I couldn't go to this meet up and I'm really keen on learning Go.

    Is there any chance for a beginner workshop (few hours) to get up and running quickly before the end of August?

    August 15, 2014

  • Chris F.

    Can someone open the door?

    August 13, 2014

  • Brant S.

    Unable to make it, have just released my spot.

    August 13, 2014

    • A former member
      A former member

      Thanks for doing so!

      August 13, 2014

  • Alex T.

    Hey everybody, looking forward to later. Make sure you take a look through the requirements listed further on up. No sweat if you have any difficulties-- we can lend a hand helping you out later.

    See you all tonight!

    August 13, 2014

  • Ken F.

    Never quite sure how may people will honor their RSVPs for these programming sessions and so we always run the risk of having too many people or not filling the seats. CYFAP on this one.

    Thanks again to Josh Ellithorpe for running it and Apcera for hosting.

    August 12, 2014

    • Paul I.

      I'm looking forward to diving into Go tomorrow, but what does CYFAP mean?

      August 12, 2014

    • Ken F.

      CYFAP
      Abbreviation for "Cross Your Fingers and Pray". Used before doing something with unknown consequences.

      Travis: "I'm going to push this release live. CYFAP."

      August 12, 2014

  • A former member
    A former member

    Anyone that needs to give up their spot? I'm on the wait list, but I'd really love to go.

    Also, anyone know of an Atom plugin for Go?

    August 12, 2014

    • Jaana Burcu D.

      I'm not going either, conflicting with my team event. Another spot is available.

      August 12, 2014

    • A former member
      A former member

      thanks! Looks like the waitlist had your spots accounted for already, but I live in hope :)

      August 12, 2014

  • Jonathan

    I'm really interested in learning Go, but unfortunately this event clashes with another one I need to attend :(

    August 12, 2014

  • Jason Del P.

    Would a hangout be available?

    August 12, 2014

  • Ken F.

    Go Session #4 is on Wed, 8/13 as scheduled.

    (made a mistake in a recent mailing).

    August 6, 2014

  • Alex T.

    Hey all,

    We're looking forward to everybody joining us next month!

    If you get a moment, please fill out our 3-question survey to help us best plan our session.

    You can find that survey here: https://www.surveymonkey.com/s/TYG9WMX

    Thanks!

    July 29, 2014

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy