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
相关用法
- GO Unmarshal用法及代码示例
- GO Unsetenv用法及代码示例
- GO Unquote用法及代码示例
- GO Unwrap用法及代码示例
- GO UnquoteChar用法及代码示例
- GO UnixMilli用法及代码示例
- GO UnescapeString用法及代码示例
- GO Unix用法及代码示例
- GO UnixMicro用法及代码示例
- GO UDPConn.WriteTo用法及代码示例
- GO URL.Hostname用法及代码示例
- GO URL.EscapedPath用法及代码示例
- GO URL.Port用法及代码示例
- GO URL.ResolveReference用法及代码示例
- GO URL.Query用法及代码示例
- GO URL.Redacted用法及代码示例
- GO URL.Parse用法及代码示例
- GO URL.String用法及代码示例
- GO URL.UnmarshalBinary用法及代码示例
- GO URL.EscapedFragment用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 UnaryOp。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。