• gchan

    gchan

    优雅的Channel操作。原生的channel操作在channel关闭后再向channel发送数据,或者多次关闭channel会引发panicgchan模块使得channel的操作变得优雅。

    使用场景

    所有使用chan的场景都可使用gchan替代。

    使用方式

    1. import "github.com/gogf/gf/g/container/gchan"

    接口文档

    https://godoc.org/github.com/gogf/gf/g/container/gchan

    gchan与原生channel的性能测试:

    1. john@johnstation:~/Workspace/Go/GOPATH/src/github.com/gogf/gf/g/container/gchan$ go test *.go -bench=".*"
    2. goos: linux
    3. goarch: amd64
    4. BenchmarkGchanPushAndPop-8 20000000 71.9 ns/op
    5. BenchmarkChannelPushAndPop-8 50000000 39.3 ns/op
    6. PASS
    7. ok command-line-arguments 3.663s