初识Kotlin之函数】的更多相关文章

本章通过介绍Kotlin的基本函数,默认参数函数,参数不定长函数,尾递归函数,高阶函数,Lamdba表达式.来对Kotlin函数做进一步了解.将上一篇的Kotlin变量的知识得以运用.Kotlin变量 Kotlin函数简介 Kotlin中是通过关键字fun声明函数.和变量一样,返回值类型放在名称后面,并用":"冒号分开.Kotlin函数默认修饰符public,且可以在文件顶层声明.其格式如下 fun 函数名(变量): 返回值类型 { } Kotlin常见函数 基础函数 fun getV…
用Java开发了很多年,因为工作的需要学习Kotlin.初识Kotlin时是各种不习惯,觉得这个语言相对于Java而言并不够严谨.随着不断的深入,最终还是逃不过"真香定理".我一直认为普通的技术使用者是没有太多的权利去评论一门技术语言的好坏.很多人只了解皮毛就开始对它进行过分的评论.所以大家不要被网上的一些信息所左右(像我这样单纯的程序员好像不多了).如果你有Java基础,上手Kotlin是非常的快,而且还会让你爱不释手. Hello World 国际惯例,我们分别用Java和Kotl…
[Kotlin]初识Kotlin(二) 1.Kotlin的流程控制 流程控制是一门语言中最重要的部分之一,从最经典的if...else...,到之后的switch,再到循环控制的for循环和while循环,都是在开发中离不开的. 之前在第一篇博文中提到了Kotlin中的for循环和foreach循环,从中可以看出Kotlin在这些流程处理中下了很大一片功夫,也进行了人性化的创新. 接下来我们就从最经典的if ... else ...来讲起! 1. if表达式 说起if,我们已经非常熟悉了.也许它…
[Kotlin]初识Kotlin之面向对象 1.类 在Kotlin中,类用关键字class来定义 如果一个类具有类体,那么需要使用{ }来写类体内容,如果不需要类体,那么只需要定义类名就可以了 // 定义一个alarmClock类 class AlarmClock { fun alarm() = println("叮铃铃...") } // 定义没有类体的alarm类 class Alarm 1. 类修饰符 final:不能被继承 open:可以被继承 abstract:抽象类 enu…
孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现python的函数定义非常简洁,没有定义的修饰词,如多数语言中用到的函数定义的修饰词private public 等在python中是不存在!! 一.python函数的定义格式 def 函数名([参数列表]): 函数体 就是函数内具体执行的代码块 参数列表,是指函数的形式参数,简称为“形参”,一个函数可以…
Kotlin的集合是让我为之心动的地方,丰富的高阶函数帮助我们高效开发.今天介绍Kotlin的基础集合用法.获取集合元素的函数.过滤元素的函数.元素排序的函数.元素统计的函数.集合元素映射的函数.集合的交差并补集的函数.还有一些工作中的经验. 先睹为快 批量更新.创建.删除功能 需求:前端有一个二维表格,希望后端提供一个支持批量更新.创建.删除功能的接口.且对部分字段的值有特殊要求. 分析:这样的需求并不少见,如工厂车间的能耗统计.统计的是每个车间,每台设备的能耗值.这些值是可以被用户手动维护的…
kotlin 中函数可以定义为局部函数,成员函数以及扩展函数 局部函数:就是嵌套在函数内的函数 成员函数就是定义在类或者对象之内的函数 泛型函数就是函数可以带有泛型参数,可通过尖括号来指定…
在kotlin中函数可以在类外部定义也可以在类内部定义,前者即为全局函数,后者,是类成员函数,语法一样 package loaderman.demo class Person { fun demo(name: String = "name", age: Int) { println(name + age) } } package loaderman import loaderman.demo.Person fun main(arg: Array<String>) { var…
Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = double(2)调用成员函数使用点表示法 Sample().foo() // 创建类 Sample 实例并调用 foo中缀表示法函数还可以用中缀表示法调用,当 他们是成员函数或扩展函数他们只有一个参数他们用 infix 关键字标注// 给 Int 定义扩展infix fun Int.shl(x: I…
#2 函数 函数声明和平时我见到的有点不太一样,使用关键字fun来声明.(感觉好欢乐的样子···O(∩_∩)O~~) 下面的示例,简单的声明了一个函数: // 这是函数声明 fun this_is_a_function() { // 这里是函数内部 } 好,下面我们一步一步来,首先是有返回值的函数,在函数声明后添加冒号,并写上返回值类型:(这里返回的是Int类型~~~) // 这是有返回值的函数声明 fun this_is_a_function_by_return() : Int { retur…
简介 Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由Jetbrains设计开发,现在是Android官方开发语言,和Java具有互操作性,可以共存. 为什么选择kotlin? 简洁:大大减少样板代码的数量(个人认为与TypeScript十分相似,有点大一统的趋势..) 安全:避免空指针异常等整个类的错误. 互操作性:充分利用JVM.Android和浏览器的现有库 工具友好:可用任何 Java IDE 或者使用命令行构建. 第一个kotlin程序 最简版 package he…
Lambda表达式实例演练: 继续先来编写一些Lambda表达式相关的代码: 接下来想从上面的字符串数组中找到带有"h"的字符串并打印出来: 如果学习了Java8的Lambda表达式,上面这程序真的是so easy,继续更换条件,找到字符串长度大于4的字会串并打印,依葫芦画瓢: 接下来再来新需求:找出包含不区分大小写字母"d"的字符串,然后将匹配的字符串以大写进行输出,如下: Lambda表达式返回值: 在默认情况下,Lambda表达式中最后一个表达式的值会隐式作为…
fun main(arg: Array<String>) { val )//调用函数 print(double) } fun double(x:Int):Int{ *x } kotlin函数必须适应fun关键字开头,后面紧跟着函数名,以及一对小括号,小括号中是函数的参数列表,如果函数有返回值,则在小括号后面加冒号: 冒号后面是函数返回值类型 如果foo函数在demo类中,调用如下 demo().foo()…
1.官方文档 英文: https://kotlinlang.org/docs/reference/scope-functions.html 中文: https://www.kotlincn.net/docs/reference/scope-functions.html 2.简介 在kotlin标准库的Standard.kt 文件中,定义了一系列函数模板.其中的 [ run .with.let.apply.aloso .takeIf.takeUnless] 称作用域函数. 它们有个共同点是,最后一…
1.不带参数,不返回值的函数 fun sum(){} 2.带参数,不带返回值的函数 fun sum(a:Int){} 3.带参数,带返回值的函数 fun sum(a:Int,b:Int) : Int{ return a+b} 4.将表达式作为函数体.返回值类型自动推断的函数 fun sum(a:Int,b:Int) = a+b 5.函数返回无意义的值 fun println(a: Int, b: Int) : Unit{ println("sum of $a and $b is ${a + b}…
fun<T> singletonList(item:T):List<T>{ ..... } fun<T>T.basicToString():String{ .... } 调用泛型的函数,应该在函数名称之后指定调用端类型参数: val i =singletonList(Int)()…
PHP连接字符串 . <?php '你好,'.'我的亲爱的老师'?> PHP语句结束符 <?php echo "欢迎同学们!"; echo "Welcome" . " to imooc!"; echo 1+2+3+4+5; ?> PHP注释 // PHP定义变量 $var = '133' PHP数据类型 $str = '123'; $num = 123; $fl = 123.00; $bol = false; $arr =…
对于Kotlin中的函数来说,和JavaScript或者Lua这些语言很像,它有着这些语言的特性.但是也与这些语言就着许多不同之处.或许你更了解Java语言,然而对于Java语言来说,它不是不是闭包这个特性的.由于在这篇文章主要是讲解函数的基本使用,故而只会讲解到函数的定义.函数的返回值.函数的参数等.剩下的部分我会在这个系列的高级篇会给大家奉上. 目录 一.函数的声明及基本使用 在Kotlin中函数的声明,同JavaScript相似. 1.1.函数的声明 Kotlin中的函数声明关键字为:fu…
一.今日主要内容 认识函数 函数:对功能或者动作的封装(定义) 语法: def 函数名字(形参) 函数体 函数的调用格式:函数名(实参) 函数的返回值 关键字:return 终止函数的运行 1.函数内部不写return,默认函数末尾返回 None 2.函数只写return 返回None 3.return 值 一个返回值 值 4.return 值1,值2,值3,... 有多个返回值 返回的数据类型是元组 返回值返回给调用方 函数的参数(初识) 形参:在函数声明的位置的变量 (声明) 1.位置参数:…
函数初识 1.函数的定义.调用.返回值 函数的定义.调用.返回值 def demo(): ## 定义函数 (def + 空格 + 函数名 + () + 冒号) ## 如下为函数体 return a ## 返回值(不写return/return None/返回单个值/返回多个值) result = demo() ## 调用函数(一个变量接收/多个变量接收) print(result) ① ▶▶ def : 定义函数的关键字; ② ▶ 空格 : 将def关键字和函数名隔开; ③ ▶▶ 括号 : 不可…
上一篇文章介绍了Kotlin新增的空安全机制,控制语句部分可算是讲完了,接下来将连续描述Kotlin如何定义和调用函数,本篇文章先介绍函数的基本用法. 前面几篇文章介绍控制语句之时,在setOnClickListener里面写了大段的代码,这不但导致onCreate方法变得很臃肿,而且代码的可读性也变差了.对于这种情况,通常的解决办法是把某段代码挪到一个独立的函数中,然后在原位置调用该函数,这样做的好处很多,不仅增强了代码的可读性,还能多次重复调用函数.那么Kotlin对函数的使用跟Java相比…
学习了kotlin 的控制. 其中最为强大的是各种控制可以直接作为表达式来使用. 那么在kotlin中,函数也是可以作为表达式来使用. 而且kotlin中函数的创建方式有很多方式. 第一种: 传统创建 fun main(args:Array<String>) { println(plus(+)) } fun plus(X:Int,Y:Int):Int { return X+Y } 这种方式很传统 如果函数的内的程序代码只有一行,这个函数还可以这么写: fun main(args:Array&l…
都是一些Android适用的Kotlin小函数. 1.点击空白隐藏键盘 //点击空白隐藏键盘 override fun onTouchEvent(event: MotionEvent): Boolean { val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager if (event.action == MotionEvent.ACTION_DOWN) { if (this@LoginMain.c…
Kotlin函数: 关于Kotlin函数在之前也一直在用,用fun来声明,回忆下: 下面再来整体对Kotlin的函数进行一个学习. 默认参数(default arguments): 先来定义一个函数: 相比java不一样的就是可以给参数增加默认参数,如下: 接一来调用一下该函数: 接下来还可以这样调用: 运行一下: 不过还有一个显示指定参数的方式,这样可读性比较强: 当然还可以都传啦: 其中上面调用两个参数的这个写法可以简化为: 当然还可以正常的调用: 可见相比Java,Kotlin对于函数提供…
在之前已经接触过了kotlin的函数了,这里再次加强学习下它,下面开始吧! Kotlin函数编写规则: 对照函数来理解其写法: 演练巩固: ①.编写函数, 实现四则运算. 接着来实现其它三个运算: 然后再编写测试代码来使用这些函数: 编译运行: ②.编写函数, 函数名为sayHello 方法返回值是String类型, 一个参 数是String类型 名称为name. ③.编写函数, 函数名为checkAge 方法的返回值是Boolean类型, 一 个参数是整数类型 名称为age. ④.编写函数,函…
这次的写法可能有些怪异,但是如果熟悉java8的Lambda表达式的话其实理解起来很顺其自然[参考博客:http://www.cnblogs.com/webor2006/p/7705130.html],不过之后会对其进行深入理解的,这里先来感受下kotlin的函数表达式的魅力,下面先从一个简单函数开始: 编译运行: 相当无脑的代码,接着就要对它进行变形啦,对于有返回值的函数可以简写成这样: 编译运行: 简直跟java8的Lambda表达式使用类似,所以可能java8还是值得好好学习学习滴. 接着…
一.Kotlin 的方便之处 1.Kotlin 可以直接使用id来呼叫操控相应的控件( textView.text = "0" )   java( TextView textView  =  findViewById(R.id.textView; textView.setText("0"); ) ) 原因:使用了Kotlin 的扩展的功能,import kotlinx.android.synthetic.main.activity_main.*,将界面上的控件和控制…
函数和Lambda表达式 Kotlin融合了面向过程语言和面向对象语言的特征,相比于Java,它增加了对函数式编程的支持,支持定义函数.调用函数.相比于C语言,Kotlin支持局部函数(Lambda表达式的基础). 6.1 函数入门 6.1.1 定义和调用函数 定义函数的语法格式如下: fun 函数名 (形参列表) [: 返回值类型] { //函数体 } // 函数的声明必须使用fun关键字 // 形参列表 "形参名: 参数类型" // 举例: fun max(x: Int, y: I…
Kotlin 定义函数的一些语法 fun main(args:Array<String>):Unit { val x:() -> Unit = { println("hello") } // 无参数函数,声明类型时用 ()-> 实现时不能要,{() -> println("hello")} 是错误的 val odd:(Int) -> Boolean = { x -> x % 2 ==1 } // 类型声明参数要放到括号中(即…