Operators
Operatoren kombinieren Operanden in Ausdrücken.
Vergleiche werden an anderer Stelle diskutiert. Für andere binäre Operatoren müssen die Operandentypen identisch sein, es sei denn, die Operation beinhaltet Verschiebungen oder untypisierte Konstanten. Informationen zu Operationen, die nur Konstanten enthalten, finden Sie im Abschnitt über konstante Ausdrücke.
Außer bei Shift-Operationen, wenn ein Operand eine untypisierte Konstante und der andere Operand nicht ist, wird die Konstante in den Typ des anderen Operanden konvertiert.
Zum Beispiel mit dem "*
" (Multiplikation) Operator,
package main
import (
"time"
)
func main() {
// works - 1000 is an untyped constant
// which is converted to type time.Duration
time.Sleep(1000 * time.Millisecond)
// fails - v is a variable of type int
// which is not identical to type time.Duration
var v = 1000
// invalid operation: i * time.Millisecond (mismatched types int and time.Duration)
time.Sleep(v * time.Millisecond)
}
Zeigen Sie uns die Fehlermeldung. –
Fehlermeldung: ungültige Operation: i * time.Millisecond (nicht übereinstimmende Typen int und time.Duration) '. – Kavu
@Kavu huh ... es überrascht mich das ehemalige funktioniert, dann –