Coder Social home page Coder Social logo

go-102's Introduction

Go 102

Overview

Go is a small language, but one with a few differences to many common languages. For example, Go supports an OO-style of development, but doesn't have classes, and it has built-in primitives to simplify concurrent programming.

The content in this book is aimed at introducing these concepts to someone new to Go (but not new to programming in general). The content is split in to the following sections:

Each section explains the relevant concepts, walks through a number of examples and code samples, and ends with an exercise to put the concepts in to practice.

Pre-Requisites

Although you need have no real experience with Go itself, this is not a "learning to code" guide. Specifically, you are expected to have practical experience with the principles behind object-oriented software development (in any language).

Exercises

There are templates available for each of the exercises. If you've cloned this repository under your $GOPATH then you can just edit and run the template file in place. Alternatively, follow the link to the template already set up in the Go Playground, and work from there instead.

Example solutions are also available, but don't look at those until you've had a go yourself!

Running a Workshop

This guide can be used as an individual study-aid, but it was designed to be presented as a hands-on workshop. In this format, the workshop should take around four hours, with each section talked through by the presenter, before the participants work through the relevant exercise (preferably in pairs). An accompanying slide deck is available on Speaker Deck.

Source and Contributing

The source for this material is available on GitHub. Please raise any issues there, and contributions (fixing typos, better formatting, improvements to code examples etc) are more than welcome.

Attribution

The gopher image on the cover is by Renee French. The buffered and unbuffered channel images are from Ardan Labs.

License

Creative Commons License

Except where otherwise noted, the content of this repository is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

go-102's People

Contributors

arjenfvellinga avatar timblair avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.