In der Go-Sprache ist Assertion eine Typkonvertierungsoperation, mit der der Wert eines Schnittstellentyps in einen bestimmten Typ konvertiert wird. Schnittstellentypen können jeden Werttyp in der Go-Sprache darstellen. In einigen Fällen muss der Wert des Schnittstellentyps jedoch für den Betrieb in einen bestimmten Typ konvertiert werden. Zusicherungen in der Go-Sprache werden normalerweise mithilfe von Typzusicherungsausdrücken implementiert, deren Syntax „value, ok := interfaceValue.(Type)“ ist.
Das Betriebssystem dieses Tutorials: Windows10-System, go1.20.1-Version, Dell G3-Computer.
In der Go-Sprache ist Assertion eine Typkonvertierungsoperation, mit der der Wert eines Schnittstellentyps in einen bestimmten Typ konvertiert wird. Schnittstellentypen können jeden Werttyp in der Go-Sprache darstellen, aber in einigen Fällen müssen wir den Wert des Schnittstellentyps für den Betrieb in einen bestimmten Typ konvertieren.
Zusicherungen in der Go-Sprache werden normalerweise mithilfe von Typzusicherungsausdrücken implementiert, deren Syntax lautet:
value, ok := interfaceValue.(Type)
wobei interfaceValue der Wert eines Schnittstellentyps ist und Type der spezifische Typ ist, der bestätigt werden soll. Der Behauptungsausdruck gibt zwei Werte zurück. Der erste Wert ist der konvertierte Wert des spezifischen Typs und der zweite Wert ist ein boolescher Wert, der angibt, ob die Behauptung erfolgreich war. Der zweite Wert ist wahr, wenn die Behauptung erfolgreich ist, andernfalls falsch.
Hier ist ein einfaches Beispiel:
var i interface{} = "hello" s, ok := i.(string) if ok { fmt.Println(s) // 输出为 "hello" } else { fmt.Println("断言失败") }
Im obigen Beispiel behaupten wir einen Schnittstellentypwert i als String-Typ und weisen das Ergebnis s und ok zu. Wenn die Behauptung erfolgreich ist und der Wert von ok wahr ist, können wir s verwenden, um Werte vom Typ String zu bearbeiten. Wenn die Behauptung fehlschlägt, wird „ok“ als „falsch“ ausgewertet und wir können bei Bedarf eine Fehlerbehandlung durchführen.
Es ist zu beachten, dass der Assertionsvorgang eine Laufzeitpanik auslöst, wenn der Wert des Schnittstellentyps nicht dem zu bestätigenden Typ entspricht. Daher wird empfohlen, bei der Durchführung von Assertionsoperationen das obige Formular mit einem zweiten Rückgabewert zu verwenden, um eine sichere Typkonvertierung zu ermöglichen.
Das obige ist der detaillierte Inhalt vonWas bedeutet Golang-Behauptung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!