當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。