如何使用大包连锁运营?

时间:2012-03-03 15:20:05

标签: go

例如,如果我想执行r = a *(b - c)。我愿意:

var r, a, b, c, t big.Int

t.Sub(&b, &c)
r.Mul(&a, &t)

在包文档中,它表示操作返回结果以允许链接。但由于used变量不用作运算符参数,而只用于存储结果,我该如何进行链接操作?换句话说,如何只使用一行代码来编写我的例子,而没有临时变量t

1 个答案:

答案 0 :(得分:4)

例如,在Go 1上,

package main

import (
    "fmt"
    "math/big"
)

func main() {
    var r, a, b, c big.Int
    a = *big.NewInt(7)
    b = *big.NewInt(42)
    c = *big.NewInt(24)

    // r = a * (b - c)
    r.Mul(&a, r.Sub(&b, &c))

    fmt.Println(r.String())
}

输出:

126