2014-09-09 11 views

Odpowiedz

6

Co masz na myśli przez 32- lub 64-bitowego systemu operacyjnego? Na przykład: GOARCH=amd64p32, który jest używany dla GOOS=nacl, to amd64 64-bitowe instrukcje ze wskaźnikami 32-bitowymi i 32-bitowymi typami int s oraz 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

wyjściowa:

nacl amd64p32 
32 32 

i

linux amd64 
64 64 
+0

Chciałbym tylko wiedzieć intSize, PtrSize –

+0

@DanielYCLin: jeśli chcesz tylko rozmiar wskazówki i wskazówek, można użyć 'unsafe.Sizeof' – JimB

+0

niebezpieczne nie jest właściwe. Myślę, że strconv jest lepszy. –

Powiązane problemy