The goroutine is actually in a separate concurrently executing computation. The &quot;go skynet()&quot; call from the Go example is a real concurrent call that will block on the &quot;c &lt;- xyz&quot; lines and resume execution when a reader consumes the value. Calling Future.successful is not the same thing.