Kotlin语言的函数学习

一、Kotlin语言的函数头学习
例如:
private:修饰符,默认是public
fun:函数声明关键字
method01:函数名
age : Int,name : String :函数参数
Int:返回类型
private fun method01(age : Int,name : String) : Int {
        println("你的姓名是:$name,你的年龄是:$age")
        return 200
}

//函数默认都是public
//其实Kotlin的函数,更规范,先有输入,再有输出
private fun method01(age : Int,age : String) : Int{
    println("你的姓名是:&name,你的年龄是:$age")
}
/*
上面的Kt函数,背后会变成下面的Java代码
    private static final int method1(int age,String name){
        String var2 = "你的姓名是:"+ name + ",你的年龄是:"+ age;
        System.out.println(var2);
        return 200;
    }
*/

 二、Kotlin中函数参数的默认参数

fun main() {
    action01("lisi",89)
    action02("wangwu")
    action03()
    action03("赵六",76)
}
private fun action01(name : String,age : Int){
    println("我的姓名是:$name,我的年龄是:$age")
}
private fun action01(name : String,age : Int = 77){
    println("我的姓名是:$name,我的年龄是:$age")
}
private fun action01(name : String,age = "王五" : Int = 23){
    println("我的姓名是:$name,我的年龄是:$age")
}

三、Kotlin语言的具名函数参数
更加灵活

fun main() {
    loginAction(age = 99,userpwd = "123",username = "Derry",phonenumber = "123456")
}
private fun loginAction(username: String,userpwd: STring,phonenumber: String,age: Int){
    println("username:$username,userpwd:$userpwd,phonenumber:$phonenumber,age:$age")
}

四、Kotlin语言的Unit函数特点

fun main() {

}
//Java语言的void关键字(void是无参数返回的 忽略类型),但是他是关键字,不是类型,这很矛盾
//:Unit不写,默认也有,Unit代表,无参数返回的 忽略类型 == Unit类型类
private fun doWork() : Unit {
    return println()
}
private fun doWork2() {
    return println()
}
private fun doWork3()  {
     println()
}
//上面三个结果一样

五、Kotlin语言的Nothing类型特点

fun main() {
    show(-1) 
}
private fun show(number: Int) {
    when(number) {
        -1 -> TODO("没有这种分数")  //返回一个Nothing结果终止程序
        in 0..59 -> println("分数不及格")
        in 60..70 -> println("分数及格")
        in 71..100 -> println("分数优秀")
    }
}

interface A {  //一个接口A,定义一个show方法
    fun show()
}

class AImpl : A {  //一个接口A的实现类
    override fun show() {
        //下面这句话,不是注释提示,会终止程序的
        TODO("not implemented")
    }
}

六、Kotlin语言的反引号中函数名特点

fun main() {
    //第一种情况:
    `登录功能 2022年11月`("LN","13579")

    //第二种情况:和java互调出现的问题(in和is在java里面是普通的函数名,在kotlin里是关键字)
    KtBase21.`is`() //调用KtBase21java类的is函数
    KtBase21.`in`()

    //第三种情况:很少发生
    `878799`()
}
private fun `登录功能 2022年11月`(name: String,pwd: String){
    println("模拟:用户名是$name,密码是$pwd")
}

private fun `878799`() {
    //写了很复杂的功能,核心功能
    // ...
}

//公司加密私有文档 878799 === 此函数的作用(每一个数字对应一个功能)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值