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


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