Ich umgebe immer noch meinen Kopf um die feineren Details von Schnittstellen und Zeigern in Go. Ich bin auf ein Problem mit einem einfachen Typ gestoßen, der einen Zeiger auf net.Conn enthält. Wenn ich versuche, eine Methode (Close) auf dem Zeiger aufzurufen, erhalte ich type *net.Conn has no field or method Close
Hier ist ein triviales Beispiel, das das Problem hervorhebt: Ссылка
Was ist der richtige Weg, Close()
hier aufzurufen?
Kurze Antwort ist "Verwenden Sie keine Zeiger auf Schnittstellen". Es gibt selten Bedarf für sie, und Sie enden mit verwirrenden Fehlern, wie Sie sehen.
Sie würden auch niemals new()
verwenden, um einen Zeiger auf eine leere Schnittstelle zu erstellen. Schnittstellen werden implizit durch einen konkreten Typ erfüllt.