首頁 > 後端開發 > Golang > 主體

無法使用 userId(字串型別的變數)作為結構文字中的 int 值

PHPz
發布: 2024-02-10 19:21:19
轉載
703 人瀏覽過

无法使用 userId(字符串类型的变量)作为结构文字中的 int 值

在PHP程式設計中,常常會遇到將字串型別的變數當作整數值的情況。然而,根據PHP的語法規則,我們無法直接將字串類型的變數作為整數值來使用,這將導致錯誤的結果。這個問題常常會讓初學者感到困惑。因此,php小編柚子為大家帶來了解決這個問題的方法。接下來,我們將詳細介紹如何正確地將字串類型的變數轉換為整數值,以便在程式中正確使用。

問題內容

我正在學習使用 go 建立 rest api。這就是我被困的地方。

使用者結構

type user struct {
  id         int    `json:"id"`
  firstname  string `json:"first_name"`
  lastname   string `json:"last_name"`
}
登入後複製

邏輯如下

params := httprouter.paramsfromcontext(r.context())
userid := params.byname("id")

user := &user{
  id: userid,
}
登入後複製

錯誤

cannot use userid (variable of type string) as int value in struct literal
登入後複製

當使用者發送獲取請求時:

/user/:id
登入後複製

我嘗試了相同的操作,但它也回傳錯誤

#
user := &user{
  id: strconv.atoi(int(userid)),
}
登入後複製

錯誤

2-valued strconv.Atoi(int(userId)) (value of type (int, error)) where single value is expected
登入後複製

解決方法

我找到了解決方案!我使用了 strconv.atoi()

userId, err := strconv.Atoi(params.ByName("id"))
if err != nil {
  fmt.Println(err)
}

user := &user{
  ID: userId,
}
登入後複製

以上是無法使用 userId(字串型別的變數)作為結構文字中的 int 值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!