当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO Sign用法及代码示例

GO语言"go/constant"包中"Sign"函数的用法及代码示例。

用法:

func Sign(x Value) int

Sign 返回 -1、0 或 1,具体取决于 x < 0、x == 0 还是 x > 0; x 必须是数字或未知。对于复数值 x,如果 x == 0,则符号为 0,否则为 != 0。如果 x 为 Unknown,则结果为 1。

例子:

package main

import (
    "fmt"
    "go/constant"
    "go/token"
)

func main() {
    zero := constant.MakeInt64(0)
    one := constant.MakeInt64(1)
    negOne := constant.MakeInt64(-1)

    mkComplex := func(a, b constant.Value) constant.Value {
        b = constant.MakeImag(b)
        return constant.BinaryOp(a, token.ADD, b)
    }

    vs := []constant.Value{
        negOne,
        mkComplex(zero, negOne),
        mkComplex(one, negOne),
        mkComplex(negOne, one),
        mkComplex(negOne, negOne),
        zero,
        mkComplex(zero, zero),
        one,
        mkComplex(zero, one),
        mkComplex(one, one),
    }

    for _, v := range vs {
        fmt.Printf("% d %s\n", constant.Sign(v), v)
    }

}

输出:

-1 -1
-1 (0 + -1i)
-1 (1 + -1i)
-1 (-1 + 1i)
-1 (-1 + -1i)
 0 0
 0 (0 + 0i)
 1 1
 1 (0 + 1i)
 1 (1 + 1i)

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Sign。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。