我正在 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 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消