是否有任何标准方法来检查操作系统是32位还是64位? 我检查了运行时间& os包,但找不到。 http://play.golang.org/p/d6NywMDMcY
package main
import "fmt"
import "runtime"
func main() {
fmt.Println(runtime.GOOS, runtime.GOARCH)
}
答案 0 :(得分:9)
32位或64位操作系统是什么意思?例如,用于GOARCH=amd64p32
的{{1}}是GOOS=nacl
64位指令,具有32位指针和32位类型amd64
s和{{1} }第
int
游乐场:http://play.golang.org/p/TKnCA0gqsI
输出:
uint
和
package main
import (
"fmt"
"runtime"
"strconv"
)
func main() {
const PtrSize = 32 << uintptr(^uintptr(0)>>63)
fmt.Println(runtime.GOOS, runtime.GOARCH)
fmt.Println(strconv.IntSize, PtrSize)
}
答案 1 :(得分:-1)
您可以使用unsafe
包并计算指针的大小(4位为32位,8位为64位)。
这是一个工作示例:http://play.golang.org/p/MPap9KMD1y