Files
llgo/_demo/cchan/cchan.go

28 lines
384 B
Go
Raw Normal View History

2024-07-02 16:00:43 +08:00
package main
import (
"unsafe"
"github.com/goplus/llgo/internal/runtime"
)
const (
eltSize = int(unsafe.Sizeof(0))
)
func doChan(cap int) {
c := runtime.NewChan(eltSize, cap)
go func() {
v := 100
runtime.ChanSend(c, unsafe.Pointer(&v), eltSize)
}()
var ret int
runtime.ChanRecv(c, unsafe.Pointer(&ret), eltSize)
println(ret)
}
func main() {
doChan(10)
2024-07-02 19:49:00 +08:00
doChan(0)
2024-07-02 16:00:43 +08:00
}