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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。