Let’s Summarize #
编程语言中的类型系统,可以分为structural typing和norminal typing。什么意思呢?就是类型检查器在进行类型比较的时候,前者是通过类型的结构来判断是否相等,后者是通过类型名进行比较。像c\c++\java主要是使用的norminal typing,而go、ocama、haskell主要是使用了structural typing。 其实在同一种编程语言里面,也是可以同时采用这两种特性的,比如有种语言针对class是采用的norminal typing,对于object则是采用的structural typing。