Kotlin 函数和变量

Kotlin 函数和变量

Hello, World!

一个 Kotlin 的 Hello, World! 程序如下:

fun main(args: Array<String>) {
    println("Hello, World!")
}

函数

Kotlin 的函数声明如下:

fun max(a: Int, b: Int): Int {
    return if (a > b) a else b
}

函数声明以 fun 关键字开始。

max 是 函数名称。

a: Int 表示一个整数类型的参数 a。

: Int 表示函数的返回值类型是整型。

if (a > b) a else b 类似于 Java 的三元表达式,它是有返回结果的。

表达式函数体

以上函数可以转换为一种表达式函数体。

fun max(a: Int, b: Int): Int = if (a > b) a else b

表达式函数体可以不写返回类型,由类型推导完成。

fun max(a: Int, b: Int) = if (a > b) a else b

变量

声明变量如下:

val answer: Int = 10

Int 类型也可以不写

val answer = 10

如果没有初始化也没有指定类型,编译报错。

val answer

报错是因为 Kotlin 无法推导出 answer 的类型。

可变变量和不可变变量

val 声明的是不可变变量。(value)

var 声明的可变变量。(variable)

val 类似 Java 的 final 变量。var 类似 Java 的普通非 final 变量。

需要注意的是,尽管 val 引用自身是不可变的,但是它指向的对象可能是变化的。类似于 Java 的 final。

fun main(args: Array<String>) {
    val langs = arrayListOf("Java")
    langs.add("Kotlin")
    println(langs)
}

虽然 langs 是 val 不可变量,但是它引用的 list 可变,可以添加元素。

var 变量可以改变它的值,但是无法改变类型。

fun main(args: Array<String>) {
    var answer = 42
    answer = "no ans"
}

以上代码编译报错,因为类型不匹配。

字符串模板

Kotlin 可以使用字符串模板来生成字符串。

fun doPrint(args: Array<String>) {
    val name = if (args.size > 0) args[0] else "Kotlin"
    println("Hello, $name!")
}

以上代码也可以这么写:

fun doPrint(args: Array<String>) {
    if (args.isNotEmpty()) {
        println("Hello, ${args[0]}!")
    } else {
        println("Kotlin")
    }
}

使用 ${} 将一个表达式插入到字符串模板。

如果想在字符串中使用双引号,可以用双引号嵌套。

fun doPrint(args: Array<String>) {
    println("Hello, ${if (args.isNotEmpty()) args[0] else "Kotlin"}!")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值