Heim >Backend-Entwicklung >Golang >Benutzer-ID (Variable vom Typ String) kann nicht als int-Wert in einem Strukturliteral verwendet werden
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.
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
Ich habe die Lösung gefunden! Ich habe strconv.atoi()
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!