Skip to content

Commit 6628dc4

Browse files
author
haohao
authored
Update README.md
1 parent ccf4485 commit 6628dc4

File tree

1 file changed

+87
-1
lines changed

1 file changed

+87
-1
lines changed

README.md

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
> Google IO 2017 宣布在 Android Studio 3.0 将默认支持 Kotlin 用于 Android . 请注意 Google 只是宣布 Kotlin 作为 Android 开发的一级语言,并没有说要用其取代 Java ,这里很多无脑媒体进行了过度解读。作为一名合格的程序员,首先要理性看待技术迭代更新,同时要对新事物保持强烈的好奇心。
77
88
## Kotlin 简介
9-
Kotlin 来自于捷克一家牛逼软件研发公司 JetBrains ,很多优秀的 IDE,如 IntelliJ IDEA、Pycharm、WebStorm 等都是它的杰作,包括 Google 官方的 Android 开发 IDE -- Android Studio ,也是 IntelliJ IDEA 的插件版。
9+
Kotlin 来自于捷克一家牛逼软件研发公司 JetBrains ,很多优秀的 IDE,如 IntelliJ IDEA、PyCharm、WebStorm 等都是它的杰作,包括 Google 官方的 Android 开发 IDE -- Android Studio ,也是 IntelliJ IDEA 的插件版。
1010

1111
Kotlin 源于 JetBrains 的圣彼得堡团队,名称取自圣彼得堡附近的一个小岛 ( Kotlin Island ) 。JetBrains 在 2010 年首次推出 Kotlin 编程语言,并在次年将之开源。
1212

@@ -824,6 +824,92 @@ class Wrapper<T>(val item: T)
824824
var wrapper = Wrapper("Hello Kotlin")
825825
println(wrapper.item)
826826

827+
```
828+
---
829+
### 匿名函数 ( Lambda 表达式 )
830+
**Java (Java 8)**
831+
```java
832+
new Thread(() -> {
833+
834+
System.out.println("Hello Kotlin");
835+
836+
}).start();
837+
838+
// 同下
839+
840+
new Thread(new Runnable() {
841+
842+
@Override
843+
public void run() {
844+
845+
System.out.println("Hello Kotlin");
846+
847+
}
848+
849+
}).start();
850+
851+
```
852+
**Kotlin**
853+
```kotlin
854+
Thread(Runnable {
855+
856+
println("Hello Kotlin")
857+
858+
}).start()
859+
860+
// Kotlin Lambda 表达式语法
861+
862+
val sum = {x: Int, y: Int -> x + y }
863+
864+
val sum1: (Int, Int) -> Int = {x, y -> x + y }
865+
866+
val sum2 = fun(x: Int, y: Int): Int {
867+
return x + y
868+
}
869+
870+
println(sum(2,8))
871+
872+
println(sum1(2,8))
873+
874+
println(sum2(2,8))
875+
876+
//输出:
877+
// 10
878+
// 10
879+
// 10
880+
// Hello Kotlin
881+
```
882+
---
883+
### Kotlin 高阶函数
884+
**Java**
885+
```java
886+
// Java 不能直接实现高阶函数
887+
```
888+
**Kotlin**
889+
```kotlin
890+
// 高阶函数,即一个函数可作为高阶函数的参数
891+
fun superFunc(desc: String?, method: () -> String) {
892+
println(desc)
893+
println(method())
894+
}
895+
896+
897+
fun argFun() = "我是高阶函数的参数"
898+
899+
//使用高阶函数
900+
901+
superFunc("这是一个高阶函数 ", ::argFun)
902+
903+
superFunc("这是一个高阶函数 ", { argFun() })
904+
905+
superFunc("这是一个高阶函数 ") { argFun() }
906+
907+
908+
//输出:
909+
//   这是一个高阶函数 我是高阶函数的参数
910+
//   这是一个高阶函数 我是高阶函数的参数
911+
// 这是一个高阶函数 我是高阶函数的参数
912+
827913
```
828914
---
829915
## 持续更新中。。。

0 commit comments

Comments
 (0)