美文网首页
函数的定义和调用

函数的定义和调用

作者: chordwang | 来源:发表于2018-03-13 09:32 被阅读15次

3.1 创建集合

kotlin没有采用自己的集合类,而是采用的标准的java集合类。在java集合类的基础上新增了方法

val list = arrayListof(1,3,56)
//扩展方法:数字列表的最大值
val max = list.max()
//扩展方法:最后一个元素
val last = list.last()

3.2 函数调用

  1. 命名参数
    当调用一个kotlin定义的函数时,可以显示地表明一些参数的名称。
    如果在调用一个函数时,指明了一个参数的名称,为了避免混淆,那它之后的所有参数都需要标明名称。

  2. 默认参数值

@JvmOverloads//注解是可以生成java 的重载函数,其中collection是必传参数
fun <T> joinToString(collection: Collection<T>, separator: String=",", prefix: String="", 
postfix: String="") :String{
    val result = StringBuilder(prefix)
    for ((index, element) in collection.withIndex()) {
        if (index > 0) result.append(separator)
        result.append(element)
    }
    result.append(postfix)
    return result.toString()
}
  1. 清除静态工具类:顶层函数和属性
    顶层函数:函数放到代码文件的顶层,该函数不用从属于任何的类
//kotlin生成的类的名称,对应于包含函数的文件的名称
//这个文件中的所有顶层函数便以为这个类的静态函数
//文件名为Hello.kt的文件
fun sum(a:Int,b:Int):Int = a+b

//在java中调用
HelloKt.sum(1,2);

顶层属性:和顶层函数一致

//const 适用于所有的基本数据类型、以及String类
const val KEY_PASS =  "pass"
//相当于java中的
public static final String KEY_PASS = "pass";

3.3 给别人的类添加方法:扩展函数和属性

  1. 导入和扩展函数

  2. 从java中调用扩展函数
    扩展函数是静态函数,它把调用对象作为了它的第一个参数

//在kotlin声明扩展函数
fun String.lastChar():Char = get(length-1)

//在java中调用
HelloKt.lastChar("abc");
  1. 作为扩展函数的工具函数
  2. 不可重写的扩展函数
    扩展函数不可以被重写,以为它是并不是类的一部分,是声明在类之外的
  3. 扩展属性

3.4 处理集合:可变参数、中缀调用和库的支持

  1. 扩展Java集合的API
  2. 可变参数:让函数支持任意数量的参数
    vararg:修饰符,修饰参数
    *:展开运算符
  3. 键值对的处理:中缀调用和结构声明
    to函数:中缀调用

3.5 字符串和正则表达式的处理

  1. 分割字符串
  2. 正则表达式和三重引号的字符串
  3. 多行三重引号的字符串

3.6 让你的代码更整洁:局部函数和扩展

局部函数:函数中定义的函数。可以避免重复的代码。
局部函数内可以访问外层函数的参数。
扩展函数也可以被声明为局部函数。

小结

  1. Kotlin没有定义自己的集合类,在Java的基础上提供了丰富的API
  2. Kotlin可以给函数的参数定义默认值,降低了重载函数的必要性
  3. Kotlin允许函数和属性在文件中声明。
  4. Kotlin可以用扩展函数和属性来扩展任何类的API
  5. 中缀调用,提供了处理单个参数的,类似调用运算符方法的简明语法
  6. Kotlin为普通字符串和正则表达式都提供了大量的处理函数
  7. 三重引号,解决了java中转义和字符串连接问题
  8. 局部函数

相关文章

  • 004-函数

    函数介绍 函数概念 函数的定义和调用函数的定义(函数可以重复调用,不能重复定义)语法格式:def 函数名(): ...

  • 菜鸟Python笔记-基础篇05:函数(一)

    一、函数定义和调用 <1>定义函数 定义函数的格式如下: demo: <2>调用函数 定义了函数之后,就相当于有了...

  • Python学习基础知识之 函数的介绍以及常见操作

    目录 一、函数定义和调用 1.1定义函数 1.2调用函数 1.3注意 二、函数参数 2.1定义带有参数的函数 2....

  • JavaScript教程-函数

    函数 函数定义和调用 定义函数function abs(x) { if (x >= 0) { ...

  • [转载]JavaScript权威指南(8)--函数

    文章前言 一 函数定义 二 函数调用 1,函数调用 2,方法调用 3,构造函数调用 4,间接调用 三 函数的实参和...

  • day13函数

    一、函数的定义和调用 定义: def 函数名([参数]): 代码块 [return 表达式] 调用 函数名([参数...

  • 函数基础与lambda函数

    主要包括: 函数的定义 函数的多文件调用 必须参数和关键字参数 匿名函数 函数的定义 调用: 函数名(实参) 查看...

  • 廖雪峰的JS教程2.1-函数

    函数 函数的定义和调用 定义函数 上述abs()函数的定义如下: function指出这是一个函数定义; abs是...

  • swift——函数

    函数的定义和调用 1.函数的定义 示例代码: 2.函数的调用 示例代码 函数的参数和返回值 1.无参函数 尽管这个...

  • 自定义构造函数创建对象

    注意点:函数和自定义构造函数的区别? 普通函数在调用的时候直接 functionName(); 调用就行,自定义构...

网友评论

      本文标题:函数的定义和调用

      本文链接:https://www.haomeiwen.com/subject/wliaxftx.html