Kotlin作为一门兼顾简洁性与实用性的现代编程语言,Kotlin 凭借对 Java 生态的兼容、丰富的语法糖,成为很多开发者入门后端、Android 开发的优选。最近在学习 Kotlin 基础时,发现它的不少语法设计特别“省心”——比如能替代 C++ switch 的 when 表达式、类似 Python f-string 的字符串模板,还有支持默认值和具名调用的函数参数,这些特性不仅降低了上手成本,还能直接提升写代码的效率。这篇文章就把我整理的 Kotlin 核心基础语法(when/字符串模板/函数/特殊类型)做个总结,适合刚从其他语言转 Kotlin 的新手参考,也方便自己后续复习回顾。

目录

when表达式

String 模板

函数

函数参数

Unit函数

Nothing类型

反引号中的函数名


when表达式

先上代码:

fun main(){
    val school = "primary school"
    val level = when(school){
        "primary school" -> "baby"
        "junior school" -> "younger"
        "senior school" -> "old"
        else -> "unknown"
    }
    println(level)
}

很像C++的switc case,但是更简洁。

int day = 4;
switch (day) {
   case 1:
       std::cout << "Monday" << std::endl;
       break;
   case 2:
       std::cout << "Tuesday" << std::endl;
       break;
   case 3:
       std::cout << "Wednesday" << std::endl;
       break;
   case 4:
       std::cout << "Thursday" << std::endl; // 输出结果为 "Thursday"
       break;
   case 5:
       std::cout << "Friday" << std::endl;
       break;
   case 6:
       std::cout << "Saturday" << std::endl;
       break;
   case 7:
       std::cout << "Sunday" << std::endl;
       break;
   default:
       std::cout << "Invalid day" << std::endl;
}

String 模板

模板支持在字符串的引号内放入变量值;

还支持字符串里计算表达式的值并插入结果,添加在${}中的任何表达式,都会作为字符串的一部分求值。

fun main(){
    val origin = "Jack"
    val dest = "Rose"
    println("$origin love $dest")

    val flag = false
    println("Answer is ${if(flag) "yes" else "sorry"}")
}

感觉很方便,有点像Python里面print(f“....{}.....”)

函数

fun main(){
    println(demo(30,false))

}

private fun demo(age:Int, flag: Boolean):String{
    return if(flag==false) "sorry,you are ${age},too old" else "thanks"
}

函数参数

1. 默认值参,和C++一样

fun main(){
    println(demo(30,false))
}

private fun demo(age:Int, flag: Boolean = false):String{
    return if(flag==false) "sorry,you are ${age},too old" else "thanks"
}

flag 直接默认为false

2.具名函数参数,如果使用命名值参,不管顺序,和C++一样

fun main(){
//    println(demo(30,false))
    println(demo(flag = false,age = 30))
}

private fun demo(age:Int, flag: Boolean = false):String{
    return if(flag==false) "sorry,you are ${age},too old" else "thanks"
}

Unit函数

就是void,没有返回值的函数就是Unit函数

fun main(){
    println(demo(flag = false,age = 30))
}

fun demo(age:Int, flag: Boolean = false){
    println("you are " + age)
}

Nothing类型

TODO函数的任务是抛出异常,就是永远不会运行成功,返回Nothing类型。

fun main(){
    println(demo(flag = false,age = 30))
    TODO("Nothing")
    println("after Nothing")
}

fun demo(age:Int, flag: Boolean = false){
    println("you are " + age)
}

反引号中的函数名

Kotlin可以使用空格和特殊字符对函数命名,不过函数名要用一对反括号括起来。(牛哇)

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐