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


GO UnaryOp用法及代码示例

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

用法:

func UnaryOp(op token.Token, y Value, prec uint) Value

UnaryOp 返回一元表达式 op y 的结果。必须为操作数定义操作。如果 prec > 0 它以位为单位指定^(xor) 结果大小。如果 y 为未知,则结果为未知。

例子:

package main

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

func main() {
    vs := []constant.Value{
        constant.MakeBool(true),
        constant.MakeFloat64(2.7),
        constant.MakeUint64(42),
    }

    for i, v := range vs {
        switch v.Kind() {
        case constant.Bool:
            vs[i] = constant.UnaryOp(token.NOT, v, 0)

        case constant.Float:
            vs[i] = constant.UnaryOp(token.SUB, v, 0)

        case constant.Int:
            // Use 16-bit precision.
            // This would be equivalent to ^uint16(v).
            vs[i] = constant.UnaryOp(token.XOR, v, 16)
        }
    }

    for _, v := range vs {
        fmt.Println(v)
    }

}

输出:

false
-2.7
65493

相关用法


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