Basierend auf verschiedenen Beispielen, die im Internet und in der Antwort auf this SO Frage, ich versuche, herauszufinden, wie es auch für Typ ExitError von Paket os/exec zur Unterstützung der Sys() Verfahren möglich ist, wenn die Dokumentation nur die Error() Methode für diesen Typ erwähnt.Wie kann der Go-Typ ExitError im Paket os/exec die Sys() - Methode unterstützen, wenn sie nicht in der Dokumentation enthalten ist?
Ich habe gedacht, dass die Sys() Verfahren in Frage Typ ist Process in Paket os, aber wie funktioniert ExitError bekommen, es zu benutzen direkt (exiterror.Sys()
), ohne die volle zu verwenden (exiterror.ProcessState.Sys()
)? *ExitError
Dies muss eine grundlegende Go Frage, aber ich habe noch, um die Antwort herauszufinden, diese eine meiner eigenen ...
A-ha! Mein Problem war zweifach: 1) Ich hatte nicht die Tatsache aufgegriffen, dass '* os.ProcessState' ein anonymes Feld war, und dass 2) dies bedeutete, dass 'ExitError' daher '* os.ProcessState' "vererbte" Felder und Methoden über die Einbettung. Der letzte Link, den Sie eingefügt haben, hat mich in die richtige Richtung gelenkt und mich dazu gedrängt, nach weiteren Informationen zu diesem Thema zu suchen. Mir ist jetzt klar, wie das geht. Die Art, wie ich es jetzt verstehe, ist, dass 'exitror.Sys()' eine "Verknüpfung" zu 'exiterror.ProcessState.Sys()' ist, weil es eingebettet ist. Vielen Dank! –