Coder Social home page Coder Social logo

gobyexample's Introduction

Go by Example

Content and build toolchain for Go by Example, a site that teaches Go via annotated example programs.

Overview

The Go by Example site is built by extracting code and comments from source files in examples and rendering them via the templates into a static public directory. The programs implementing this build process are in tools, along with dependencies specified in the go.modfile.

The built public directory can be served by any static content system. The production site uses S3 and CloudFront, for example.

Building

test

To build the site you'll need Go installed. Run:

$ tools/build

To build continuously in a loop:

$ tools/build-loop

To see the site locally:

$ tools/serve

and open http://127.0.0.1:8000/ in your browser.

Publishing

To upload the site:

$ export AWS_ACCESS_KEY_ID=...
$ export AWS_SECRET_ACCESS_KEY=...
$ tools/upload

License

This work is copyright Mark McGranaghan and licensed under a Creative Commons Attribution 3.0 Unported License.

The Go Gopher is copyright Renée French and licensed under a Creative Commons Attribution 3.0 Unported License.

Translations

Contributor translations of the Go by Example site are available in:

Thanks

Thanks to Jeremy Ashkenas for Docco, which inspired this project.

FAQ

I found a problem with the examples; what do I do?

We're very happy to fix problem reports and accept contributions! Please submit an issue or send a Pull Request. See CONTRIBUTING.md for more details.

What version of Go is required to run these examples?

Given Go's strong backwards compatibility guarantees, we expect the vast majority of examples to work on the latest released version of Go as well as many older releases going back years.

That said, some examples show off new features added in the latest release; therefore, it's recommended to try running examples with the latest officially released Go version (see Go's release history for details).

I'm getting output in a different order from the example. Is the example wrong?

Some of the examples demonstrate concurrent code which has a non-deterministic execution order. It depends on how the Go runtime schedules its goroutines and may vary by operating system, CPU architecture, or even Go version.

It doesn't mean anything is wrong with the example. Typically the code in these examples will be insensitive to the actual order of the output; if the code is sensitive to the order - that's probably a bug - so feel free to report it.

gobyexample's People

Contributors

mmcgrana avatar eliben avatar andrew-field avatar nzoschke avatar nikai3d avatar hyangah avatar oohira avatar everyx avatar butuzov avatar skrul avatar jaywgraves avatar zakj avatar peterbocan avatar minikomi avatar peterzhu1992 avatar adam-singer avatar c-ross avatar owenthereal avatar gregimba avatar techplexengineer avatar baileywickham avatar tschundler avatar haldean avatar cn007b avatar tleyden avatar simonjefford avatar shivam010 avatar smoser avatar sandeepkru avatar ryanbrainard avatar

Stargazers

Roman 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.