[]Node
、からにassertと入力しようとしてい[]Symbol
ます。私のコードでSymbol
は、インターフェースを実装していNode
ます。
周囲のコードは次のとおりです。
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 }
これが私が得るエラーです:
./builtins.go:47: invalid type assertion: args.([]Symbol) (non-interface type []Node on left)
これには正当な理由があると確信しています。続行するための最良の方法は何ですか?