go 0.1.1

A runtime-agnostic Go-style concurrency library for Rust
Documentation

go

A runtime-agnostic Go-style concurrency library for Rust.

Select your async runtime at compile time via Cargo features:

[dependencies]
go = { version = "0.1", features = ["rt-tokio"] }   # or rt-async-std, rt-smol

Primitives

  • [spawn] / [go!] — fire-and-forget async task spawn
  • [chan] — bounded and unbounded channels
  • [select!] — multiplex channel recv operations
  • [WaitGroup] — wait for a group of tasks to complete
  • [sleep] / [timeout] — async timers
  • [singleflight::Group] — deduplicate concurrent calls by key