如何检查我的程序是针对32位还是64位处理器编译的?

Is there any standard method to check os is 32 or 64 bit? I've check runtime & os package, but can not found. http://play.golang.org/p/d6NywMDMcY

package main

import "fmt"
import "runtime"

func main() {
    fmt.Println(runtime.GOOS, runtime.GOARCH)
}

What do you mean by a 32- or 64-bit OS? For example, GOARCH=amd64p32, which is used for GOOS=nacl, is amd64 64-bit instructions with 32-bit pointers and 32-bit type ints and uints.

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)
}

Playground: http://play.golang.org/p/TKnCA0gqsI

Output:

nacl amd64p32
32 32

and

linux amd64
64 64

You can use the unsafe package and compute the size of a pointer (4 for 32bits, 8 for 64bits). Here a working example: http://play.golang.org/p/MPap9KMD1y