ker*_*azi 2 parameters func go
主要问题是“是否可以将任何类型的 func 作为参数以及如何传递?”。我正在学习 Go 并希望像这样制作我自己的异步包装函数:
func AsyncFunc(fn func(), args ...interface{}) chan bool {
var done chan bool;
go func() {
fn(args...);
done <- true;
}();
return done;
}
并称之为:
max := func(a, b int) int {
//some hard code what will be goroutine
if a > b {return a};
return b;
}
done := AsyncFunc(max, 5, 8);
//some pretty code
<- done;
PS如果我的英语不好,对不起...
Edit1:我知道它是无用的、缓慢的和危险的。这只是我想要实现的疯狂想法。