Best Practices for API Error Handling in Go