kotlin的基本语法学习

包定义:

代码文件以包声明开始:


包名不必和文件夹路径一致:源文件可以放在任意位置。

更多包设置,https://love2.io/@meiritugua/doc/kotlin-in-chinese/Basics/Packages.md

函数定义:

在 kotlin 中用关键字 fun 声明函数:

定义一个函数接受两个 int 型参数,返回值为 int :

fun add(a: Int, b: Int): Int{
    return a + b
}
//只有一个表达式作为函数体,以及自推导型的返回值:
fun add(a:Int,b:Int) = a+b;
//返回一个没有意义的值:
fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}

//Unit 的返回类型可以省略:
fun printSum1(a: Int, b: Int) {
    println("sum of $a and $b is ${a + b}")
}

调用函数有两种方法:

1.通过传统的方法调用函数

val result = add(2,3)

2.通过.调用成员函数

Sample().foo() // 创建Sample类的实例,调用foo方法


中缀符号

在满足以下条件时,函数也可以通过中缀符号进行调用:

 它们是成员函数或者是扩展函数

 只有一个参数

使用 infix关键词进行标记


参数

函数参数是用 Pascal 符号定义的 name:type。参数之间用逗号隔开,每个参数必须指明类型

printSum(a: Int, b: Int)

默认参数

函数参数可以设置默认值,当参数被忽略时会使用默认值。这样相比其他语言可以减少重载。

fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size ) {
...
}

默认值可以通过在type类型后使用=号进行赋值

命名参数

在调用函数时可以参数可以命名。这对于那种有大量参数的函数是很方便的.

下面是一个例子:

fun reformat(str: String, normalizeCase: Boolean = true,upperCaseFirstLetter: Boolean = true,
             divideByCamelHumps: Boolean = false,
             wordSeparator: Char = ' ') {
...
}

我们可以使用默认参数

reformat(str)

然而当调用非默认参数是就需要像下面这样:

reformat(str, true, true, false, '_')

使用命名参数我们可以让代码可读性更强:

reformat(str,
    normalizeCase = true,
    uppercaseFirstLetter = true,
    divideByCamelHumps = false,
    wordSeparator = '_'
  )

如果不需要全部参数的话可以这样:

reformat(str, wordSeparator = '_')

注意,命名参数语法不能够被用于调用Java函数中,因为Java的字节码不能确保方法参数命名的不变性

变长参数

函数的参数(通常是最后一个参数)可以用 vararg 修饰符进行标记:


函数更多使用:https://love2.io/@meiritugua/doc/kotlin-in-chinese/FunctionsAndLambdas/Functions.md

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值