我想键入从断言[]Node
,以[]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)
我敢肯定有一个很好的理由。 什么是前进的最好方式?