It has slightly more expressive generics, but otherwise no more complex overall. And no more useful, except perhaps for typed errors.
The biggest cause of bugs in Go I find is the weak type system. Nulls, untyped (and overly verbose) errors and the lack of sum types are a big problem.
Java sum types and pattern matching are almost impossible to use in practice, sadly. Exceptions aren't a good thing, it's only good that they're typed. Go has exceptions too, they're just used rarely.
The rest is not very interesting or particularly complex.
It’s a little better, for sure. It’s nowhere near something sane like OCaml or Rust.
I don’t particularly like Go or Java.
I don’t see what salad has to do with anything I said. Go does have exceptions and unlike Java, they are untyped and rarely used. They’re not great in either language.