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?


