Heim > Artikel > Backend-Entwicklung > Hier sind einige Titeloptionen, die mit unterschiedlichen technischen Details und Fragenformulierungen spielen: Allgemeiner, einleitend: * Wie funktioniert der Adressoperator mit Runtime.Object in Kuberne?
So führt der Adressoperator eine Bereitstellungszuweisung zu runtime.Object aus
Im Kubernetes-Code gibt die Generate-Funktion in kubectl/run.go eine Liste zurück enthält runtime.Object und einen Fehler. Die letzte Zeile der Funktion weist die Adresse der Bereitstellungsvariablen dem ersten Element der Rückgabeliste zu. Runtime.Object ist eine in k8s.io/apimachinery/pkg/runtime definierte Schnittstelle mit den Methoden GetObjectKind und DeepCopyObject.
Der Adressoperator (&) erstellt einen Zeiger auf eine Variable. In Go unterscheidet sich der Typ eines Zeigers von seinem Basistyp. Die Bereitstellungsvariable wird jedoch lokal als Instanz von extensionsv1beta1.Deployment deklariert, einer Struktur, die metav1.TypeMeta einbettet. Diese Einbettung stellt die GetObjectKind-Methode sowohl für Deployment als auch für *Deployment (Zeiger auf Deployment) bereit.
Zusätzlich implementiert extensionsv1beta1.Deployment die DeepCopyObject-Methode direkt mit einem Zeigerempfänger. Das bedeutet, dass *Deployment auch über die DeepCopyObject-Methode verfügt.
Gemäß der Go-Spezifikation kann eine Schnittstelle einen Wert eines beliebigen Typs speichern, der über einen Methodensatz verfügt, der eine Obermenge der Schnittstelle darstellt. In diesem Fall umfasst der Methodensatz von Deployment alle von Object definierten Methoden, wodurch Deployment eine Implementierung von Object ist.
Da die Bereitstellung daher vom Typ extensionsv1beta1.Deployment ist, wird &deployment vom Typ sein Geben Sie *extensionsv1beta1.Deployment ein, das Object implementiert. Dies ermöglicht die Zuweisung von &deployment an eine Variable vom Typ runtime.Object, die einen Wert vom Typ Object oder eine Implementierung von Object.
erwartetDas obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die mit unterschiedlichen technischen Details und Fragenformulierungen spielen: Allgemeiner, einleitend: * Wie funktioniert der Adressoperator mit Runtime.Object in Kuberne?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!