Golang Runtime and Ecosystem

October 20, 2019 · View on GitHub

MIT Licensed Awesome       

Golang Runtime and Ecosystem

  1. Read about how to get rid of $GOPATH in your projects using Go modules
  2. A brief walk-through a useful features of Go toolchain. 5 Helpful utilities in Go toolchain

  1. Video. Keith Randall - Inside the Map Implementation

  2. Video. Francesc Campoy - Understanding nil

  3. Go's work-stealing scheduler

  4. In your kottans-backend repo README.md:

    5.1 add header ## Golang Runtime and Ecosystem

    5.2 add answers to the following questions:

    • What value types are invalid for use as go map keys and why ?
    • Will this code compile ? Why ?
    package main
    
    func nil() {
        print("Oh Yeah!\n")
    }
    
    func main() {
        if nil == nil {
            print("Its equal\n")
        }
    }
    
    • What's the output of following code ?
    package main
    
    type customError struct{
        text string
    }
    
    func (e *customError) Error() string {
        return e.text
    }
    
    func getErrorText(err error) (text string) {
         if err != nil {
             text = err.Error()
         }
         return
    }
    
    func main() {
        var err *customError
        println(getErrorText(err))
    }
    
    • Why nil check is not working ? How would we fix that ?

Extra materials

  1. Async IO on Linux: select, poll, and epoll
  2. Go: the Good, the Bad and the Ugly
  3. Golang Internals Resources
  4. Hacking Go's internals by Bouke van der Bijl

Done?

➡️ Go forward to Databases

⤴️ Back to Contents