当前位置: 首页 > news >正文

上海市工程建设协会网站贴心的广州网站建设

上海市工程建设协会网站,贴心的广州网站建设,搭建网站的流程,西安的网站设计公司名称Kotlin Lambda使用 fun main() /*: Unit*/ {// Lambda会慢慢的难度升级// Kotlin Unit Java void// TODO 下面全部都是函数声明, 既然是函数声明,就不能调用// 函数的声明 用lambda去描述函数的声明val method1 : () -> Unitval method2 : (Int, In…

Kotlin Lambda使用

fun main() /*: Unit*/ {// Lambda会慢慢的难度升级// Kotlin Unit == Java void// TODO 下面全部都是函数声明, 既然是函数声明,就不能调用// 函数的声明 用lambda去描述函数的声明val method1 : () -> Unitval method2 : (Int, Int) -> Unitval method3: (String, Double) -> Anyvar method4 : (Int, Double, Long, String) -> Booleanvar method5 : (Int, Int) -> Int// 函数的声明 + 函数的实现// : (参数)->返回  方式一 () 基本上属于声明 todo 上面已经讲过了 就是函数的声明// = {参数->方式}  方式二 () 基本上属于声明实现结合val method01 : () -> Unit = { println("我是method01函数") }method01() // 调用函数  () == 操作符重载 invoke操作符method01.invoke() // 调用函数val method02 = { "我是method02函数" }println(method02())val method03 = {str: String -> println("你传递进来的值是:$str")}method03("jin")val method04 = {number1: Int, number2:Int -> number1.toString() + number2.toString()}println(method04(1, 2))val method05 = {number1: Int, number2:Int -> number1 + number2}println(method05(1, 2))val method06 : (Int) -> String // 先声明method06 = fun(value: Int) : String = value.toString() // 后实现println(method06(88))// 用 先声明 后实现 来 自动推断val method07 : (Int) -> String // 先声明method07 = fun(value) = value.toString() // 后实现println(method07(99))// 声明 + 实现 一气呵成val method08: (Int) -> String /*左边的是声明*/         /*右边是实现*/ = {value-> "$value aaa" }println(method08(77))val method09 : (String, String) -> Unit  = {aStr, bStr -> println("aStr:$aStr, bStr:$bStr") }method09.invoke("AA", "BB")val method10 : (String) -> Unit = { /*it ->*/ // 如果你只有一个参数的话,如果你不写,默认就有it,他会自动给你增加itprintln("你传递进来的值是:$it")}method10("李元霸")val method11 : (Int) -> Unit = {when(it) {1 -> println("你传递进来的是一") // Unitin 20..60 -> println("你传递的是 20 到 60 之内的数字") // Unitelse -> println("都不满足") // Unit}}method11(60)val method11s : (Int) -> String = {when(it) {1 -> "你传递进来的是一" // Stringin 20..60 -> "你传递的是 20 到 60 之内的数字" // Stringelse -> "都不满足" // String}}println(method11s(60))// _ 拒收,可以提高一点点性能val method13 : (Int, Int) -> Unit = {_, number2->println("你传递的第二个参数是:$number2")}method13.invoke(100, 200) // 用户对 不用修改// (Any) -> Anyval method14 = {str: Any -> str}println(method14(true))println(method14(57.654f))val method15 /*: (Char) -> Unit*/ ={sex : Char -> println(if (sex == '男') "你是男生" else if (sex == '女') "你是女生" else "未知") }method15.invoke('男')// (Int) -> Unitvar method16 = {number: Int -> println("你的值是:$number")} // 被覆盖后,就失效了// 覆盖method16, 虽然你覆盖了,类型还是 (Int) -> Unitmethod16 = { println("覆盖的也能拿到值:$it") }method16(999)val method16ss : (String ? /*= ""*/, String) -> Unit = {str /*= "default"*/, str2->println("str:$str, str2:$str2")}method16ss("李元霸", "李连杰")method16ss(null, "李连杰")// 需求:你传入什么,我就打印什么 并且输出// (Any) -> Anyval method17 = {str: Any ->println("你传递了:$str")str // lambda最后一行作为返回值}println(method17(34534))println(method17('C'))println(method17("DDDD"))// 给String增加 匿名扩展函数val method19 : String.() -> Unit = {// this == String本身 == 调用者本身 == "DDD"println("你是$this")}"DDD".method19()val method20 : Int.(Int) -> String = { "两数相加的结果是:${this + it}" }println(1.method20(100))println(method20(1, 100))val method21 : Double.(Double, Double) -> Unit = {d1, d2 -> println("三数相加:${this + d1 + d2}")}method21.invoke(55.5, 66.6, 77.7)55.5.method21(66.6, 77.7)val method22 : Char.(String) -> Unit= { println(if (this == '男') "先生你好" else if (this == '女') "女生你好" else it)}'男'.method22("未知人类")'A'.method22("未知人类")fun Char.method23(default: String) {println(if (this == '男') "先生你好" else if (this == '女') "女生你好" else default)}'男'.method23("未知人类")'A'.method23("未知人类")// TODO 我们前面一直在玩输入,   现在我们开始玩输出(返回类型)fun t01() { println(1) } // 默认Unit,除非我们指定类型fun t02() {4646.5f} // 默认Unitfun t03() {true} // 默认Unitfun t04() : String {return "Derry"} // 指定Stringfun t05() : Int { return 99} // 指定Intfun s01() = {} // () -> Unit    函数返回一个函数fun s02() = { println("OK")} // () -> Unit    函数返回一个函数s02()()fun s03() : Char = run { 'A' } // Char  run返回 {}里面的函数返回类型fun s04() : () -> Boolean = { true } // () -> Boolean 函数返回一个函数println(s03())println(s04()())}// public static
// 给String增加 具名的shows扩展函数
fun String.shows() {// this == String本身 == 调用者本身 == "DDD"println("你是$this")
}

http://www.yayakq.cn/news/322330/

相关文章:

  • 企业网站 优帮云网络营销公司加盟
  • 网易门户网站建设企业建站公司是干嘛的
  • 搭建网站架构怎么做创建公司网站难吗
  • 陇南做网站网站推广优化方案模板
  • 什么网站做视频给钱顺德建设工程交易中心网站
  • 青岛建设银行银行招聘网站软件开发外包公司
  • 网站建设助君网络网站建设维护面试
  • 广州外贸营销网站建设公司北京海淀的公司
  • 专门找人做软件的网站长垣高端建站
  • seo是做网站个人申请小程序收费吗
  • 网页制作与网站建设技术大全民和县wap网站建设公司
  • 如何备份网站joomla3.8与wordpress
  • 学校网站建设开发商vue快速搭建网站
  • 网站 后台 数据 下载如何做英文网站推广
  • 在线设计网站排名设计公司网站 唐山
  • 给一个公司做网站需要多久wordpress 升级数据库
  • 酒店网站程序广州网站优化网站建设
  • 吴中seo网站优化软件厦门医院网站建设
  • 深圳市长城建设有限公司网站长春seo优化企业网络跃升
  • 网站建设栏目管理wordpress文章排序id
  • 网站建设自助建站云建站网站开发的疑虑
  • 怎样做旅游摄影网站联系深圳网站制作公司
  • 产品网站建设设计方案做ppt常用图片网站有哪些
  • wordpress做的网站电子商务网站建设评估工具有哪些
  • 网站备案可以更改吗2023年防疫新政策
  • 信息产业部icp备案中心网站wordpress批量删除图片
  • 做网站需要什么配置的电脑营销号经典废话
  • 蒙古文政务网站建设工作汇报自动化优化系统网站建设
  • seo站内站怎么做以网络营销为主题的论文
  • 一个域名解析多个网站洞头网站建设