在JavaScript中,我看到如下功能:
function SomeFunc(i) {
var f = 0x80000000;
return Boolean(i & f);
}
Golang中的模拟物是什么?首先,我看到 0x80000000 是不可能的,语法是第二个问题
答案 0 :(得分:2)
在JavaScript中,将任何非布尔值强制转换为布尔值只会执行“虚假”检查;在大多数情况下,任何非空值均为false,其他所有值为true。因此,Go的整数值等效于:
return i != 0
答案 1 :(得分:1)
将它们放在一起
package main
import (
"fmt"
)
//function SomeFunc(i) {
// var f = 0x80000000;
//
// return Boolean(i & f);
//}
func SomeFunc(i uint64) bool{
return i & 0x80000000 != 0
}
func main() {
fmt.Println(SomeFunc(0x800))
fmt.Println(SomeFunc(0x81234567))
}