我正在 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字段用Usertype 定义string。仅仅因为它包含数字,不能保证它适合int64.
Go AppengineSDK 使用适合 的值int64,但在生产环境中并非如此。它们通常比 的最大值长int64。它们作为strings交给您,因此请这样对待它们:strings。没有什么会强迫您将它们转换为数字。我不知道你是从哪里想到将它们转换为数字的,但不要那样做。他们是strings。
注意:User.ID不要误认为Key.IntID()which 定义为 type int64。
- 2 回答
- 0 关注
- 277 浏览
添加回答
举报
0/150
提交
取消
