#Kotlin的简单语法很好学,接下来让我们开始学习Kotlin的各种常用函数吧
// An highlighted block
//applay函数
fun myApplay(){
//apply函数
val task = Runnable { println("运行中") }
Thread(task).apply { setDaemon(true) }.start()
val task2 = Runnable { println("running") }
val thread = Thread(task2)
thread.setDaemon(true)
thread.start()
}
//let函数
fun myLet():Int{
"myLet".let {
println(it)
return 123
}
}
//with函数
fun myWith(){
with(ArrayList<String>()){
add("111")
add("222")
add("333")
println("this = "+this)
}.let { println(it) }
}
//lazy函数
fun myLazy(){
fun requestJson():String = "{name age }"
val lazyString = lazy{requestJson()}
val stringResult = lazyString.value
}
//use函数
@RequiresApi(Build.VERSION_CODES.O)
fun myUse(){
val input = Files.newInputStream(Paths.get("\"f:\\\\myInformation.txt\""))
val byte = input.use {
input.read()
}
}
//repeat 函数
fun myRepeat(){
repeat(6,{ println("打印出6个数")})
}
//泛型函数
fun<T> outputString(a:T,b:T,c:T):String{
return "$a,$b,$c"
}
fun tesst(){
val array = arrayOf(1,2,3,4,5)
println("最大数:"+array.biggest())
}
fun<T> Array<T>.biggest():T where T:Number,T:Comparable<T>{
var biggest = this[0]
for (i in 1..lastIndex){
val e = this[i]
if(e > biggest){
biggest = e
}
}
return biggest
}
//lambda 表达式
fun add(x:Int,y:Int):Int{
return x+y
}
var add2 = {x:Int,y:Int -> x+y}