Hacker News new | ask | show | jobs
by scarboy 5066 days ago
You can modify the state by using named return values.

  func ContrivedExample() (file *os.File, err error) {
    file, err = os.Open("something.txt")
    defer func() {
      if err = file.Close(); err != nil {
        file = nil
      }
    }()

    return
  }