Kotlin参数特性(具名、变长、默认)

简介: 一、这个问题其实很简单,就用以下几个例子讲解以下package net.println.kotlin.chapters/** * @author:wangdong * @description:参数的讲解 ...

一、这个问题其实很简单,就用以下几个例子讲解以下

package net.println.kotlin.chapters

/**
 * @author:wangdong
 * @description:参数的讲解
 */

/**普通参数*/
fun sum(arg1: Int, arg2: Int): Int {
    return arg1 + arg2
}
/**具名参数*/
fun sum2(arg1: Int = 2, arg2: Int =3): Int {
    return arg1 + arg2
}

/**变长参数,参数前面加vararg*/
//某个参数可以接收多个值,可以不为最后一个参数
//如果传参的时候有歧义,需要使用具名参数
fun main(vararg args: String) {
    /*for (arg in args){
        println(arg)
    }*/

    val list = arrayListOf(1,2,3,4,5)
    //kotlin变长函数暂时不支持list,只支持array数组
    //hello(3.0,*list,a="hello")
    val array = intArrayOf(1,2,3,4,5)
    hello(1.0,*array,a = "hello")
}

/**默认参数*/
//例如给d指定一个默认值,如果没传就直接用
fun hello(d: Double = 3.0,vararg ints: Int, a: String) {
    ints.forEach(::println)
    println(a)
}
目录
相关文章
|
2月前
|
编译器 Android开发 开发者
Android经典实战之Kotlin 2.0 迁移指南:全方位优化与新特性解析
本文首发于公众号“AntDream”。Kotlin 2.0 已经到来,带来了 K2 编译器、多平台项目支持、智能转换等重大改进。本文提供全面迁移指南,涵盖编译器升级、多平台配置、Jetpack Compose 整合、性能优化等多个方面,帮助开发者顺利过渡到 Kotlin 2.0,开启高效开发新时代。
85 0
|
3月前
|
Android开发 Kotlin
Android面试题之kotlin中怎么限制一个函数参数的取值范围和取值类型等
在Kotlin中,限制函数参数可通过类型系统、泛型、条件检查、数据类、密封类和注解实现。例如,使用枚举限制参数为特定值,泛型约束确保参数为Number子类,条件检查如`require`确保参数在特定范围内,数据类封装可添加验证,密封类限制为一组预定义值,注解结合第三方库如Bean Validation进行校验。
52 6
|
4月前
|
存储 Kotlin
Kotlin中的内联函数:提升性能与解决Lambda表达式参数问题
Kotlin中的内联函数:提升性能与解决Lambda表达式参数问题
|
5月前
|
安全 Java 编译器
Kotlin 1.6 正式发布,带来哪些新特性?
Kotlin 1.6 正式发布,带来哪些新特性?
47 0
|
12月前
|
IDE Java 开发工具
Kotlin 1.8.0 现已发布,有那些新特性?
Kotlin 1.8.0 现已发布,有那些新特性?
177 0
Kotlin 1.8.0 现已发布,有那些新特性?
|
网络协议 开发工具 Android开发
基于 Kotlin 特性开发的有限状态机
基于 Kotlin 特性开发的有限状态机
312 0
基于 Kotlin 特性开发的有限状态机
|
IDE Java 编译器
Kotlin 1.5 新特性:密封接口比密封类强在哪?
Kotlin 1.5 推出了密封接口(Sealed Interface),这与密封类(Sealed Class)有什么区别呢?
372 0
Kotlin 1.5 新特性:密封接口比密封类强在哪?
|
Cloud Native 架构师 安全
Kotlin 异步框架 Ktor 2.0 发布,提供新的插件特性
Ktor 是一个用于创建异步客户端和服务器应用程序的Kotlin框架。经过 1 年多的开发,2.0版本于近日发布,在带来新特性的同时,也带来了破坏性的变化。
434 0
Kotlin 异步框架 Ktor 2.0 发布,提供新的插件特性
DHL
|
算法 Java 编译器
Kotlin 宣布一个重磅特性
Kotlin 1.5 宣布了一个重磅特性 value class,这是一个非常实用的特性,提高代码的可读性同时,还可以提高性能,因为编译器会对它进行更深层次的优化,减少对象的创建。
DHL
222 0
Kotlin 宣布一个重磅特性
|
Android开发 Kotlin
【错误记录】Android Studio 编译时 Kotlin 代码编译报错 ( 升级支持库时处理 @NonNull 参数 )
【错误记录】Android Studio 编译时 Kotlin 代码编译报错 ( 升级支持库时处理 @NonNull 参数 )
269 0
【错误记录】Android Studio 编译时 Kotlin 代码编译报错 ( 升级支持库时处理 @NonNull 参数 )
下一篇
无影云桌面