|
@@ -4,7 +4,7 @@
|
|
|
|
|
|
|
|
Futures模式通过闭包和通道可以很容易实现,类似于生成器,不同地方在于Futures需要返回一个值。
|
|
Futures模式通过闭包和通道可以很容易实现,类似于生成器,不同地方在于Futures需要返回一个值。
|
|
|
|
|
|
|
|
-参考条目文献给出了一个很精彩的例子:假设我们有一个矩阵类型,我们需要计算两个矩阵A和B乘积的逆,首先我们通过函数`Inverse(M)`分别对其进行求逆运算,在将结果相乘。如下函数`InverseProduct()`实现了如上过程:
|
|
|
|
|
|
|
+参考条目文献给出了一个很精彩的例子:假设我们有一个矩阵类型,我们需要计算两个矩阵A和B乘积的逆,首先我们通过函数`Inverse(M)`分别对其进行求逆运算,再将结果相乘。如下函数`InverseProduct()`实现了如上过程:
|
|
|
|
|
|
|
|
```go
|
|
```go
|
|
|
func InverseProduct(a Matrix, b Matrix) {
|
|
func InverseProduct(a Matrix, b Matrix) {
|
|
@@ -26,7 +26,7 @@ func InverseProduct(a Matrix, b Matrix) {
|
|
|
}
|
|
}
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-`InverseFuture`函数起了一个`goroutine`协程,在其执行闭包运算,该闭包会将矩阵求逆结果放入到future通道中:
|
|
|
|
|
|
|
+`InverseFuture`函数以`goroutine`的形式起了一个闭包,该闭包会将矩阵求逆结果放入到future通道中:
|
|
|
|
|
|
|
|
```go
|
|
```go
|
|
|
func InverseFuture(a Matrix) chan Matrix {
|
|
func InverseFuture(a Matrix) chan Matrix {
|