如何在Go中确定操作系统是32位还是64位?

时间:2016-03-16 00:05:28

标签: go 32bit-64bit

我能得到的最接近的是runtime.GOARCH,但这也可能会给arm,可能是32位或64位。

2 个答案:

答案 0 :(得分:1)

对arm:arm(ARM)和arm64(AArch64)使用GOARCH,

  

Optional environment variables

     

$ GOOS和$ GOARCH

     

目标操作系统和编译体系结构的名称。   它们分别默认为$ GOHOSTOS和$ GOHOSTARCH的值   (如下所述)。

     

$ GOOS的选择是

var WindowObject = window.open();
WindowObject.document.write('<img src="http://i.imgur.com/Jvh1OQm.jpg" />'); // This is your content to be printed
WindowObject.document.write('<script>(' + (function() {
    function checkReadyState() {
        if (document.readyState === 'complete') {
            window.focus();
            window.print();
            window.close();
        } else {
            setTimeout(checkReadyState, 200); // May need to change interval
        }
    }

    checkReadyState();
}) + ')();</sc' + 'ript>');

答案 1 :(得分:1)

const is64Bit = uint64(^uintptr(0)) == ^uint64(0)

之所以可行,是因为如果uintptr是32位,则^uintptr(0)将是0xffffffff而不是0xffffffffffffffff

^uint64(0)将始终为0xffffffffffffffff,无论32位或64位体系结构。