diff --git a/docs/uts/README.md b/docs/uts/README.md index 2f07496f24603707542a6de61f232b4004624e4b..7c4f7ec03aa5f2a3704a9b4acf510e415b0ad5e8 100644 --- a/docs/uts/README.md +++ b/docs/uts/README.md @@ -77,7 +77,21 @@ str = "hello world"; // 报错,不允许重新赋值 #### 类型自动推导 -uts具备类型自动推导。在定义变量时如果直接赋值,而不使用冒号定义类型,也可以合法运行。 +对于传统编译语言来说(java,C),声明一个变量的同时必须声明这个变量的类型以便于申请内存空间。 +```java +// 一个名为a的 Int类型数据变量 +Int a = 12 +``` + +但是更现代的语言(kotlin,TS,SWIFT 等)中,一般都具备类型自动推导的功能,即如果开发者声明变量的同时,进行了初始化赋值。那么编译器可以自动推导出变量类型,而不必开发者手动声明。 即降低了出错的可能,也降低了开发者的心智负担 + +```kotlin +// 开发者不必描述 a的类型,编译器会自动将 12 编译为一个Int类型数据变量 +var a = 12 +``` + + +uts同样具备类型自动推导。在定义变量时如果直接赋值,而不使用冒号定义类型,也可以合法运行。 如下2种写法都是合法的,两个变量都是string类型: