我在这里浏览 ast.go 的 Go 源代码,有 3 种类型的接口,即表达式、语句和声明。但仅凭源代码我无法弄清楚它们之间的区别。 我能弄清楚的是表达式导致一个可以分配或比较或用作参数的对象,而语句是一些像 if-else 这样的流程控制或 for 循环。但我发现了一些定义,比如
// An IncDecStmt node represents an increment or decrement statement.
IncDecStmt struct {
X Expr
TokPos token.Pos // position of Tok
Tok token.Token // INC or DEC
}
不应该是表达式吗?我很困惑如何区分表达式和语句,有什么规则吗?
哈士奇WWW
神不在的星期二
相关分类