亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在已部署的 appengine 應用程序中,用戶 ID 可以長于 64 位嗎?

在已部署的 appengine 應用程序中,用戶 ID 可以長于 64 位嗎?

Go
飲歌長嘯 2021-11-22 20:07:51
我正在 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。


查看完整回答
反對 回復 2021-11-22
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

很可能是的。閱讀應用引擎文檔,它寫道:

默認策略生成大致均勻分布的未使用 ID 的隨機序列。每個 ID 最長可達 16 位十進制數字。

Go 規范來看,int32-2147483648 through 2147483647.對于 16 位小數來說int64是不夠的,但已經足夠了。


查看完整回答
反對 回復 2021-11-22
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號