Kann ich einen Teil der Schnittstellenwerte bestätigen?
Ich versuche zu behaupten, von einem Typ[]Node
zu[]Symbol
. In meinem CodeSymbol
implementiert dieNode
Schnittstelle.
Hier ist etwas Umgebungscode:
<code> 43 func applyLambda(args []Node, env Env) Node { 44 if len(args) > 2 { 45 panic("invalid argument count") 46 } 47 fixed, rest := parseFormals(args.([]Symbol)) 48 return Func{ 49 Body: args[1], 50 FixedVarNames: fixed, 51 RestVarName: rest, 52 } 53 } </code>
Hier ist der Fehler, den ich bekomme:
<code>./builtins.go:47: invalid type assertion: args.([]Symbol) (non-interface type []Node on left) </code>
Ich bin sicher, dass es dafür einen guten Grund gibt. Wie gehe ich am besten vor?