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


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