In the below example, if the 1000\'s are both int\'s (which I think they are) why would the bottom fail to compile?
//works time.Sleep(1000 * time.Millisecon
You should convert to time.Duration (which underneath is an int64)
time.Duration
int64
var i = 1000 time.Sleep(time.Duration(i) * time.Millisecond)