Wie greife ich mit der Typschnittstelle {} auf benutzerdefinierte Daten in Goroutinen zu?

Patricia Arquette
Freigeben: 2024-11-03 20:13:03
Original
260 Leute haben es durchsucht

How to Access Custom Data in Goroutines with Type Interface {}?

Zugriff auf benutzerdefinierte Daten in Goroutine mit Typschnittstelle {}

In einigen Szenarien kann es vorkommen, dass Sie auf übergebene Daten zugreifen müssen als anonyme Struktur für eine Goroutine, die einen geplanten Job mit Gojob ausführt. Der direkte Zugriff auf seine Felder führt jedoch zu der Fehlermeldung „Typ-Schnittstelle {} ist Schnittstelle ohne Methoden“.

Um dieses Problem zu beheben, müssen Sie die benutzerdefinierten Daten von Schnittstelle {} explizit in den richtigen Typ umwandeln, bevor Sie darauf zugreifen Felder. So können Sie Ihren Code ändern:

<code class="go">func NewJob(t string, name string, c func(), v interface{}) {
    ...
    jobs = append(jobs, job)
}</code>
Nach dem Login kopieren
<code class="go">func Custom(name string) interface{} {
    ...
    return jobs[i].custom
}</code>
Nach dem Login kopieren

Jetzt können Sie innerhalb der geplanten Goroutine auf das Feld der anonymen Struktur zugreifen, indem Sie es typisieren:

<code class="go">id := v.(struct{Id int}).Id</code>
Nach dem Login kopieren

Dieser explizite Typ Die Behauptung stellt sicher, dass Sie auf das ID-Feld zugreifen können, ohne dass der Fehler „undefiniert“ auftritt.

Das obige ist der detaillierte Inhalt vonWie greife ich mit der Typschnittstelle {} auf benutzerdefinierte Daten in Goroutinen zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!