title: Python asyncio event loop equivalent in Go lang
body: <p>I use <code>asyncio</code> event loop which is a kind of performing asynchronous/concurrency tasks in <em>Python3.x</em> .</p>
  <p>Is there any equivalent of <code>asyncio</code> (async/await) or coroutines in Go lang on <strong>a thread</strong> only?</p>
  <hr />
  <p>[<strong>NOTE</strong>]:</p>
  <p>Not <code>parallelism + concurrency</code> (multiprocessing) pattern.</p>
  <hr />
  <p>[UPDATE]:</p>
  <p>Here is an asynchronous event loop using <code>asyncio</code> in Python for better sense:</p>
  <pre><code>import asyncio
  import time
  
  async def async_say(delay, msg):
      await asyncio.sleep(delay)
      print(msg)
  
  async def main():
      task1 = asyncio.ensure_future(async_say(4, 'hello'))
      task2 = asyncio.ensure_future(async_say(6, 'world'))
  
      print(f&quot;started at {time.strftime('%X')}&quot;)
      await task1
      await task2
      print(f&quot;finished at {time.strftime('%X')}&quot;)
  
  loop = asyncio.get_event_loop()
  loop.run_until_complete(main())
  </code></pre>
  <p>Out:</p>
  <pre><code>started at 13:19:44
  hello
  world
  finished at 13:19:50
  </code></pre>
  <hr />
  <p>Any help would be greatly appreciated.</p>