/go-workshop

LifeWorks Go workshop

Primary LanguageGo

LifeWorks Go workshop

Why Go

  • Strong static type safety
  • Easy to learn
  • Compiled (the compiler has been written in go)
  • Compiles very quickly
  • Cross platform (GOOS=linux GOARCH=amd64 go build -o importer)
  • Language level support for concurrency (not paralellism)
  • Goroutines and channels
  • Built in HTTP server and crawler
  • Minimalistic
  • Low memory foot print
  • Speed
  • Powerful garbage collection
  • Go tools are all great; gofmt, go test
  • Built in test runner
  • Great documentation
  • Rich standard library
  • Error handling
  • Pointers
  • Go offline (go tool tour)
  • Multiple results
  • Not JavaScript
  • Not Java

Why not Go

  • No built in vendor support
  • Debugging
  • IDE support
  • No generics (?)
  • Young language (released in 2007)
  • Maps sometimes pain in the ass
  • Error handling
  • Pointers
  • DateTime handling