Czy mogę wpisać fragment wartości interfejsu?
Próbuję wpisać tekst z a[]Node
, do[]Symbol
. W moim kodzieSymbol
implementujeNode
berło.
Oto kod otaczający:
<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>
Oto błąd, który otrzymuję:
<code>./builtins.go:47: invalid type assertion: args.([]Symbol) (non-interface type []Node on left) </code>
Jestem pewien, że jest ku temu dobry powód. Jak najlepiej postępować?