我正在 Go 中开发 appengine 应用程序,当我尝试获取 appengineUser的 ID 并使用以下代码将其转换为 64 位 int 时:id, err := strconv.ParseInt(user.ID, 10, 64)我收到此错误:ERROR: error executing inner: strconv.ParseInt: parsing "185804764220139124118": value out of range此错误是否也发生在已部署代码中的 appengine ID 上?
2 回答
交互式爱情
TA贡献1712条经验 获得超3个赞
类型的ID
字段用User
type 定义string
。仅仅因为它包含数字,不能保证它适合int64
.
Go AppengineSDK 使用适合 的值int64
,但在生产环境中并非如此。它们通常比 的最大值长int64
。它们作为string
s交给您,因此请这样对待它们:string
s。没有什么会强迫您将它们转换为数字。我不知道你是从哪里想到将它们转换为数字的,但不要那样做。他们是string
s。
注意:User.ID
不要误认为Key.IntID()
which 定义为 type int64
。
- 2 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消