Please answer these questions before submitting your issue. Thanks!

### What version of Go are you using (`go version`)?


### What operating system and processor architecture are you using (`go env`)?


### What did you do?

If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.


### What did you expect to see?


### What did you see instead?


