Resources for Go Beginners

In short

Go is a better C++. In 2015, its mission is trying to replace C in some parts. Many companies had ported a few parts of their system to Go. Go currently competes with Java in performance; with amazing syntax and features. Go is used to design system or web service. Somebody try to compare it to Rust, but they are not the same. Rust is lower level than Go and so called the better C.

For beginner:

  • Read some background about Go to get motivation.
  • Install Sublime or Vim as Editor
  • Learn syntax through the Playground, which can be found on Golang.org
  • Try one full-fledged MVC Web Framework to write a web app
  • Explore the Community and Golang packages

Language Background

Workflow

Writing, building, installing, and testing Go code

Language & Syntax

Editor

Sublime Text with GoSublime:

Vim with Vim-go:

Web Framework

Full MVC:

  • Beego
  • Revel

Sinatra alike

  • Martini
  • Negroni: same author as Martini, but have some magics inside it.
  • Gin-gonic: Martini like but with extremely fast in term of performance
  • Goji

Separated

  • Gorrila packages

Package Manager

List package management tools: https://github.com/golang/go/wiki/PackageManagementTools. They are divided into

  • Vendoring: Like Bundler in Ruby or npm in Node
  • Go Version Managers: Like rvm in Ruby
  • Revision Locking
  • Import Proxies

Community in Vietnam

Comments