Which is more idiomatic?

well, from my experience reading Go code, this is by far the most common way of doing this kind of stuff.

I use option 1. only if theres no return value of the function except the error

if err := doSomething(); err != nil {
  // handle error
}

and TBH, never seed option 2. used