Kotlin学习之路

Kotlin基本语法之(一)变量与方法

2019-05-22  本文已影响0人  wanderingGuy

在Kotlin的世界里函数(方法)是第一公民,它可以存储在变量中,也可以在方法间传递或以方法为返回值(高阶函数),甚至方法内部也可以嵌套方法。

函数的定义

以下面的例子做说明

//计算字符串长度
fun getLength(str: String): Int {
    return str.length
}

声明函数的关键字fun,后面跟函数名getLength,括号内为参数列表。

每一个参数先声明参数名,然后跟冒号:,最后是参数类型,多个参数用逗号分隔。

Int是返回值类型,它与java中的int包装类Integer对应,参数列表和返回值之间以冒号分隔。

如果返回值是空可以写做Unit或省略不写。

//返回值为空
fun helloWorld(str: String) {
    println("Hello, World!")
}

可变长参数声明vararg关键字

@JvmStatic
fun main(args: Array<String>) {
    print(join('h','e','l','l','o'))
}

fun join(vararg chars: Char): String {
    return chars.joinToString("")
}

参数默认值

下面的例子展示了如何使用默认参数,即在参数类型声明后加"=",然后跟默认值,实际调用中默认值可缺省。

@JvmStatic
fun main(args: Array<String>) {
    print(join('h','e','l','l','o'))

    print(testDefault(2))
}

//计算次幂
fun testDefault(base : Int, power : Int=3) : Double{
    return Math.pow(base.toDouble(), power.toDouble())
}

实际使用中不建议可变长参数和默认参数一起使用,编译器可能产出意想不到的结果。

变量

Kotlin中以var关键字声明为变量,val声明为常量。

变量后可跟参数类型,也可不声明参数类型而通过参数值推断。

来看例子

val a: Int = 1 //立即赋值
val b = 2 // 自动推断出 `Int` 类型 
val c: Int // 如果没有初始值类型不能省略 
c = 3 // 明确赋值

给已赋值的常量再次赋值会报错,使用未赋值的常量会报错。

val c: Int
c.and(1) // error

val a: Int = 2
a = 1 // error
上一篇 下一篇

猜你喜欢

热点阅读