首頁  >  文章  >  後端開發  >  無法使用 userId(字串型別的變數)作為結構文字中的 int 值

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

PHPz
PHPz轉載
2024-02-10 19:21:19706瀏覽

无法使用 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刪除