Maison > développement back-end > Golang > le corps du texte

Impossible d'utiliser userId (variable de type chaîne) comme valeur int dans un littéral de structure

PHPz
Libérer: 2024-02-10 19:21:19
avant
744 Les gens l'ont consulté

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

En programmation PHP, on constate souvent que des variables de type chaîne sont utilisées comme valeurs entières. Cependant, selon les règles de syntaxe de PHP, nous ne pouvons pas utiliser directement une variable de type chaîne comme valeur entière, ce qui entraînerait des résultats incorrects. Cette question déroute souvent les débutants. L’éditeur PHP Yuzi vous apporte donc une solution à ce problème. Ensuite, nous expliquerons en détail comment convertir correctement une variable de type chaîne en valeur entière afin qu'elle puisse être utilisée correctement dans le programme.

Contenu de la question

J'apprends à utiliser go pour créer une API de repos. C'est là que je suis coincé.

Structure utilisateur

type user struct {
  id         int    `json:"id"`
  firstname  string `json:"first_name"`
  lastname   string `json:"last_name"`
}
Copier après la connexion

La logique est la suivante

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

user := &user{
  id: userid,
}
Copier après la connexion

Erreur

cannot use userid (variable of type string) as int value in struct literal
Copier après la connexion

Lorsque l'utilisateur envoie une demande d'obtention :

/user/:id
Copier après la connexion

J'ai essayé la même chose mais cela a également renvoyé une erreur

user := &user{
  id: strconv.atoi(int(userid)),
}
Copier après la connexion

Erreur

2-valued strconv.Atoi(int(userId)) (value of type (int, error)) where single value is expected
Copier après la connexion

Solution

J'ai trouvé la solution ! J'ai utilisé strconv.atoi()

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

user := &user{
  ID: userId,
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal