接上文 《从 Java 和 JavaScript 来学习 Haskell 和 Groovy(引子)》。
首先搞清几个概念:
- 动态类型(Dynamic Typing)和静态类型:区别的核心在编译期还是运行时。静态类型的语言系统在编译期就明确知道每一个变量的类型,如果发现不合法的类型赋值就在编译期报错;动态类型则直到运行时才会报错。
- 类型推导(Type Inference),类型推断是指可以在上下文中,编译器来推导实际的类型,也就是代码使用隐式类型指定。比如一个简简单单的 “var a=1”,a 就被推断成整型。
- 弱类型(Weakly Typed)和强类型:指的是语言系统对类型检查,或者是类型之间互相转换
[……]阅读全文