package net.println.kotlin
/**
* Created by wangpeisen_sx on 17-6-20.
*/
fun main(args: Array<String>) {
// val arg1 = args[0].toInt()
// val arg2 = args[1].toInt()
// println(sum(arg1, arg2))
// println("$arg1 + $arg2 = ${sum(arg1, arg2)}")
// println("$arg1 + $arg2 = ${anotherSum(arg1, arg2)}")
//
// println(int2long(3))
//
// println(sum(3, 4))//变量sum的方法
// println(sum.invoke(3, 4))//相当于上一句
// for (i in args) {
// println(i)
// }
//
// args.forEach {
// println(it) //it iteration
// }
//
// args.forEach({ println(it) })// {}是lambda表达式 作为参数传入forEach
// args.forEach() { println(it) }
// args.forEach { println(it) }
// args.forEach(::println)//传入lambda表达式和接受是一致的可继续简化
// args.forEach {
// //lambda表达式
// if (it == "q") {
// return //return main函数结束程序
// }
// println(it)
// }
// args.forEach ForEach@ {
// //给这个大括号取了名字 ForEach
// //lambda表达式
// if (it == "q") {
// return@ForEach //return时退出的是名字是ForEach的大括号
// }
// println(it)
// }
// println("the end")
println(sum)
}
val sum = { arg1: Int, arg2: Int ->
println("$arg1 + $arg2 = ${arg1 + arg2}")
arg1 + arg2
}
fun sum(arg1: Int, arg2: Int): Int {
return arg1 + arg2
}
fun anotherSum(arg1: Int, arg2: Int) = arg1 + arg2 //简化函数体
val int2long = fun(x: Int): Long { //直接赋值给一个常量
return x.toLong()
}