go - 需要 uint64 编译以实现 32 位架构的 Golang 程序
问题描述
我目前正在开发一个程序,我需要存储大整数值,大到它们不适合uint32
. 只有int64
或uint64
。
我刚刚意识到Raspberry Pi Zero v1.3
,我将用于这个项目的,有Broadcom BCM2835 processor
,我相信它是一个32 bit
架构处理器。
It contains an ARM1176JZFS (ARM11 using an ARMv6-architecture core) with floating point, running at 1GHz
如何确保我的程序在这个 32 位架构上正常运行?我必须做一些不同的事情吗?或者当我交叉编译它时,编译器是否能够毫无问题地处理它:env GOOS=linux GOARCH=arm GOARM=6 go build
?
解决方案
首先,免责声明:我不写 32 位代码,所以我说的可能不完整。
根据语言规范,唯一依赖于体系结构的类型是 int、uint 和 uintptr。这意味着,您必须返回并检查声明为这些类型之一的每条数据和函数参数。您还必须检查任何作为 interface{} 传递的无类型数字文字(声明的常量和文字值),因为它们也将作为 int 传递。
推荐阅读
- knex.js - 如何通过 knex.js 选择 json mssql?
- c# - 升级到 .Net Framework 4.8 后,ClickOnce 部署变得流氓
- javascript - 使用不透明类型对 Typescript 记录进行索引
- python - Django 如何在页面周围移动文本
- c# - GetElementResult() null iText 7
- html - 无法让 html 在工作表的侧栏中呈现
- sql - 加入来自同一个表的 2 个选择查询
- ruby-on-rails - 仅对电子邮件禁用资产指纹识别?
- import - rust - 如何将文件夹中的文件导入到另一个文件夹中的文件中?
- vue.js - 分析一个 Vue Js 应用的加载时间