Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谁能解释类型检查和类型推断问题之间的区别?
我试图寻找差异,但我找不到任何令人信服的来源可以清楚地解释差异。如果可能的话,也包括例子。
给定代码:
(define (sum lst) (if (null? lst) 0 (+ (car lst) (sum (cdr lst)))))
lst关于必须是什么或程序返回类型是什么,您有什么可以说的吗?编译器可能会做同样的事情,这将被称为类型推断。
lst
类型检查是检查代码中指定或推断的类型。如果代码中存在不一致,或者从推断它加起来不清楚,它将失败。