2014-09-09 24 views

cevap

6

Bir 32 veya 64 bitlik işletim sistemi tarafından ne anlama geliyor? Örneğin, GOOS=nacl için kullanılan GOARCH=amd64p32, amd64 32 bit işaretçiler ve 32 bit tip int s ve uint s ile 64 bit yönergelerdir.

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

oyun yeri: http://play.golang.org/p/TKnCA0gqsI

Çıkış:

nacl amd64p32 
32 32 

ve

linux amd64 
64 64 
+0

Sadece IntSize, PtrSize bilmek isteyen –

+0

@DanielYCLin: Sadece ints ve ibrelerin boyut isterseniz kullanabilirsiniz 'unsafe.Sizeof' – JimB

+0

güvensiz uygun değil. Sanırım strconv daha iyi. –

İlgili konular