What do you mean by 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 types int and uint s.
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
Conclusion:
nacl amd64p32 32 32
and
linux amd64 64 64
source share