Go needs a good static analyzer to detect potential nil pointer dereferences. That would help identify and eliminate any unnecessary nil checks. .NET has a good one for C#.

This does exist, actually.

https://github.com/uber-go/nilaway