Coder Social home page Coder Social logo

go-101-workshop's Introduction

go-101-workshop

A repo to go along with the HackConf 2021 Workshop. Built by Anton Sankov and Boris Stoyanov.

Environment setup

Go IDE setup

Modules

Next steps

Congrats, you made it to the end of the workshop. However, the material here is far from everything you can learn about Go. If you want to continue learning Go here are some good next steps:

The rest of Tour of Go

Complete the Tour of Go. Focus on the things we did not bring up here - interfaces, defers, named returns, etc.

A comprehensive wiki, that contains a lot of material about different topics around Go. Some of the links below are duplicated there as well.

Go is widely-used for web applications. If you want to use it in that context, see what the standard library gives you for dealing with HTTP.

Go is made with concurrency in mind. It provides powerful primitives that allow you to write concurrent code easily.

When using Go in the real-world, inevitably you will need to use some third-party package. In Go this is done via Go modules. You can get familiar with them in the link above.

A set of rules and pattern about how to write idiomatic and effective Go code.

A great book about the language. It starts from scratch and explains in-depth basic concepts and design decisions about the language.

A set of code smells and common mistakes to look for when reviewing Go code..

If you are a fan of podcasts Go Time is one of the best podcasts about Go.

Subsribe for weekly updates around the language and the community.

go-101-workshop's People

Contributors

asankov avatar borisbsv avatar

Stargazers

 avatar Aldo Ziflaj avatar

Watchers

Zlatyo Uzunov avatar James Cloos avatar  avatar

Forkers

asankov

go-101-workshop's Issues

Add next steps chapter

  • The rest of Tour of Go (interfaces, defers, named returns, make, etc.)
  • Go modules
  • HTTP
  • Concurrency in Go
  • Effective Go
  • The Go Programming Language
  • Go code review comments
  • Go Time podcast
  • Golang weekly newsletter

Material enhancement

Some stuff we might consider adding in the future:

  • var scoping
  • fix array access typo - #7
  • nil
  • you can't import from main
  • subslicing
  • break, continue in loops
  • compile time error for unused variables
  • workaround for compile time error for unused variables with _

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.