Heim >Backend-Entwicklung >Golang >Benutzer-ID (Variable vom Typ String) kann nicht als int-Wert in einem Strukturliteral verwendet werden

Benutzer-ID (Variable vom Typ String) kann nicht als int-Wert in einem Strukturliteral verwendet werden

PHPz
PHPznach vorne
2024-02-10 19:21:19750Durchsuche

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

Bei der PHP-Programmierung kommt es häufig vor, dass Variablen vom Typ String als Ganzzahlwerte verwendet werden. Gemäß den Syntaxregeln von PHP können wir eine Variable vom Typ String jedoch nicht direkt als Ganzzahlwert verwenden, was zu falschen Ergebnissen führt. Diese Frage verwirrt Anfänger oft. Daher bietet Ihnen der PHP-Editor Yuzi eine Lösung für dieses Problem. Als nächstes erklären wir im Detail, wie man eine Variable vom Typ String korrekt in einen ganzzahligen Wert umwandelt, damit sie im Programm korrekt verwendet werden kann.

Frageninhalt

Ich lerne, mit go eine Rest-API zu erstellen. Hier stecke ich fest.

Benutzerstruktur

type user struct {
  id         int    `json:"id"`
  firstname  string `json:"first_name"`
  lastname   string `json:"last_name"`
}

Die Logik ist wie folgt

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

user := &user{
  id: userid,
}

Fehler

cannot use userid (variable of type string) as int value in struct literal

Wenn ein Benutzer eine Abrufanfrage sendet:

/user/:id

Ich habe das Gleiche versucht, aber es wurde auch ein Fehler zurückgegeben

user := &user{
  id: strconv.atoi(int(userid)),
}

Fehler

2-valued strconv.Atoi(int(userId)) (value of type (int, error)) where single value is expected

Lösung

Ich habe die Lösung gefunden! Ich habe strconv.atoi()

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

user := &user{
  ID: userId,
}

Das obige ist der detaillierte Inhalt vonBenutzer-ID (Variable vom Typ String) kann nicht als int-Wert in einem Strukturliteral verwendet werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen