首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Kotlin】函数 ① ( 函数头声明 | 函数参数 | 默认参数值 | 具名参数 )

文章目录 一、函数头声明 二、函数参数 1、默认参数值 2、具名参数 一、函数头声明 ---- 函数头声明 格式如下 : 可见性修饰符 函数声明关键字 函数名 (函数参数) : 函数返回值类型 函数头示例...: private fun hello(name:String, age:Int):String 可见性修饰符 : private 函数声明关键字 : fun 函数名 : hello 函数参数 : name...$age, type is ${if(name == "Tom") "Cat" else "Mouse"}" } 执行结果 : Name is Tom, age 18, type is Cat 2、具名参数...具名参数 : Kotlin 中的 函数参数顺序 必须按照定义的顺序传递 , 如果使用 具名参数 , 可以不必按照参数顺序传递参数 ; 代码示例 : 在下面的代码中 , 函数参数为 name: String..., age: Int , 先传递 String 类型值 , 然后再传递 Int 类型值 , 但是使用具名参数 后 , 可以 先传递 Int 参数 , 再传递 String 参数 ; fun main()

2.7K10

【Python】函数进阶 ④ ( Lambda 匿名函数 | 具名函数与匿名函数 | Lambda 函数定义语法 )

一、具名函数与匿名函数 在 Python 中 , 使用 def 关键字定义的函数 是 " 具名函数 " , 也就是有名字的函数 ; 与 " 具名函数 " 相对应的是 " 匿名函数 " ; " 匿名函数..." 使用 lambda 关键字定义 , 也就是 没有名字的函数 ; 具名函数 可以 重复使用无数次 ; 匿名函数 只能 临时使用一次 ; 二、Lambda 函数定义语法 Lambda 函数 又称为 匿名函数...是 函数的形式参数, expression 是 函数的实现 , 也就是函数体 , 该 函数体只能有一行代码 ; Python 中的 Lambda 函数函数体 只能是一行代码 , 无法在 Lambda...函数中写多行代码 ; 如果 函数要使用多次 , 或者函数体要写多行 , 需要使用 def 关键字定义具名函数 ; Lambda 匿名函数定义示例 : 该 lambda 匿名函数接受两个参数 x 和 y...函数作为函数参数使用案例 : 该 lambda 函数作用是 将列表中的每个元素转换为平方 , 使用 map 函数和 lambda 函数将列表中的每个元素转换为平方,并将结果存储在一个新列表中 ; squares

19630
您找到你想要的搜索结果了吗?
是的
没有找到

【Kotlin】Kotlin 函数总结 ( 具名函数 | 匿名函数 | Lambda 表达式 | 闭包 | 内联函数 | 函数引用 )

文章目录 一、函数头声明 二、函数参数 1、默认参数值 2、具名参数 三、Unit 函数 四、TODO 函数抛出异常返回 Nothing 类型 五、反引号函数名 六、匿名函数 七、匿名函数函数类型...具名参数 : Kotlin 中的 函数参数顺序 必须按照定义的顺序传递 , 如果使用 具名参数 , 可以不必按照参数顺序传递参数 ; 代码示例 : 在下面的代码中 , 函数参数为 name: String...---- 函数 作为参数 , 有两种方式 : 传递 Lambda 表达式 , 也就是 匿名函数 作为参数值 ; 传递 函数引用 作为参数值 ; 函数引用 可以将 具名函数 转为 函数的参数值 , 只要可以使用...doSomething(name: String, age: Int): String { return "student $name $age years old, say hello" } 具名函数...与 匿名函数 相对 , 具名函数 是有 函数名的函数 , 匿名函数 没有函数名 ; 代码示例 : 在下面的代码中 , 首先使用 actionFun 函数类型变量 作为 studentDoSomething

1.5K20

docker 基础: 具名、匿名挂载介绍

今天给大家聊聊docker具名、匿名挂载的相关知识,一起来学学吧!匿名挂载1.1  含义匿名挂载就是指定容器内路径,dockers run 每挂载一个目录就会宿主主机自动创建一个随机字符串的目录。...6d05e4012610c5427b589f38009ade0d90bd5009896d251f545979ddb736e1b8/_datatouch 1.txt容器内部测试命令docker exec -it nginxtest /bin/bashcd /etc/nginx touch 22.txt宿主主机容器内部具名挂载...2.1 含义具名挂载就是挂载的同时指定一个有具体含义的名字,方便后续和容器对应以及后续的运维,便于查找挂载目录。...2.2 具名挂载示例#运行容器docker run -d -p 8001:80 --name nginxtest02 -v nginxtest02:/etc/nginx nginx #查看容器挂载目录...指定具体的挂载目录名,便于查找和管理,如果你的容器比较多,都是不可读的字符串,那么可维护性会比较差,建议采用具名挂载。

38420

Python 具名元组——我不只是可不变列表

具名元组 —— 元组特性的最有力体现 具名元组来自 Python 内置库 collections.nametupled 中, 可以用来构建带字段名的元组和一个相应的类 使用 nametupled 构建的类的实例所消耗的内存与元组是一致的..., 因为字段名都被保存在对应的类里面. —— 译自 Fluent Python 声明方式一 nametuple 构造函数的首个参数为类名, 第二个参数为字段名信息, 可以是以空格隔开的字符串, 也可以是字符串数组...以往我们常常使用字典来"挽回"一点面向对象的思想, 但是如前文引用所示, 不保存字段名的具名元组实例要比字典占用的内存小, 并且在获取对象属性时要比字典方便多了, 面向对象的思想得到体现....mail.com"} In [36]: coding_dict.get('name') # 字典 Out[36]: 'coding' In [37]: coding_contact.name # 具名元组...而具名元组正有这样的特性, 利用内置的 _asdict() 方法即可: In [20]: Contact = namedtuple('Contact', columns) In [21]: contact

87520

Vue 匿名、具名和作用域插槽的使用

Vue 匿名、具名和作用域插槽的使用 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 Vue 中的插槽在开发组件的过程中其实是非常重要并且好用的。...匿名插槽 子组件定义 slot 插槽,但并未具名,因此也可以说是默认插槽。只要在父元素中插入的内容,默认加入到这个插槽中去。... oli 如在父组件中使用这个子组件,并插入 oli 字符串,效果如下: 具名插槽 具名插槽可以出现在不同的地方,不限制出现的次数。...slot name="content"> 比如上述代码定义了三个具名插槽...v-slot="user">{{user.data.username}} 使用 v-slot 绑定一个命名空间 user,这样就可以通过 user 对象引用到子组件中传入的数据了 ⚠️ 与具名插槽配合时

86910

vuejs中的默认插槽-具名插槽-作用域插槽三者的比较

,也可以让代码组织结构更加清晰,虽然使用上是简单了,但是插槽有些不是很好理解,不是很直观 它是让父组件可以向子组件指定位置处插入一html结构,自由灵活,也是组件间的一种通信方式 形式上有,默认插槽,具名插槽还有作用域插槽...标签给包裹起来的,并且在上面添加v-slot:default属性,这代表的是默认插槽 默认内容 02 具名插槽...如果要将不通的内容放在不通的位置,那么默认插槽就无法办到了 顾名思义,具名插槽,就是给插槽定义一个名字,让每个不通的模板对应着不通的名字 我们给在父组件内的插入的模板属性上添加v-slot:插槽名字,...例如 v-slot:header 可以被重写为 #header 如果你看不懂,那就是对简写插槽的名称有些陌生了 从上面的示例中,我们可以做出一些总结 具名插槽可以根据名称渲染对应的html标签模板内容...没有定义名称的内容会被默认插槽统一渲染 默认插槽其实也是一个具名插槽,名称为default 父组件内插槽内容可以是模板html标签元素,也可以是组件 注意 这个v-slot只能用在template标签上

1.3K50

vue3.0 Composition API 上手初体验 vue组件的具名插槽 slot 的变化

vue3.0 Composition API 上手初体验 vue组件的具名插槽 slot 的变化 在我讲 vue 3.0 的普通组件的内容里,我提到了具名插槽发生了变化,我当时不清楚新的如何使用。...搞一个带具名插槽的子组件 直接撸代码: 默认插槽: 来展示具名插槽 vue 2.0 的具名插槽父组件的调用方法 这些文字将显示在组件默认插槽内...vue 3.0 的具名插槽父组件的调用方法 这些文字将显示在组件默认插槽内 这里的文字会显示在组件的具名插槽内...具名插槽的传值 在原有的语法里面,可以通过 slot-scope 来接收子组件的传值,典型的应用可以参考 element-ui 的 Table 组件,官方演示如下图所示: ?

2.9K20

Scala基础入门(十三 ) 类、函数参数形式、种类、使用方式总结

类参数看起来跟方法参数列表一样,但它是位于类名的后面,类似于其他高级语言的构造器(构造函数)。...、可变参数 具名参数 具名参数 即在参数列表中指定名字的参数,创建具有参数列表的类的实例时,可以指定参数的名字;调用函数时同样可以指定参数名。...具名参数 对于提高代码的阅读性比较有用,尤其是长且复杂的参数列表。 具名参数显得很清楚的话,读者甚至无需再查阅文档。...与 缺省参数 一块使用时,具名参数显得更有用。...这里的 缺省参数 指的是在类定义中给出其缺省值: render4Default函数第二、三个参数有缺省值,所以在调用时可以通过以下方式使用: //调用缺省值的函数时,缺省参数可以不指定 render4Default

20820

闭包面试题原题_闭包 数学

一、关于这个函数的执行过程 先大致说一下这个函数的执行过程: ① 初始化一个具名函数具名函数就是有名字的函数,名字叫 fun。...② 第一个 fun 具名函数执行之后会返回一个对象字面量表达式,即返回一个新的object对象。...④ 在③里面创建的匿名函数会返回一个叫 fun 的具名函数return fun(m, n);,这里需要说明一下这个 fun 函数返回之后的执行过程: 返回 fun 函数,但默认不执行,因为在 js 里面...如果想要执行 fun 函数,那么首先会在当前作用域寻找叫fun 名字的具名函数,但是因为当前作用域里 fun 名字的函数是没有被定义的,所以会自动往上一级查找。...2.1 注解:当前的作用域里是一个新创建的对象,并且对象里面只有 fun 属性,而没有 fun 具名函数 2.2 注解:js 作用域链的问题,会导致他会不断地往上级链查找。

24520

【Modern C++】深入理解左值、右值

这五种类别的分类基于表达式的两个特征: 具名(identity):可以确定表达式是否与另一表达式指代同一实体,例如通过比较它们所标识的对象或函数的(直接或间接获得的)地址 可被移动:移动构造函数、移动赋值运算符或实现了移动语义的其他函数重载能够绑定于这个表达式...结合上述两个特征,对五种表达式值类别进行重新定义: lvalue:具名且不可被移动 xvaue:具名且可被移动 prvalue:不具名且可被移动 glvalue:具名,lvalue和xvalue都属于...以xvalue为例,在上图中xvalue为(I&M),即代表具名且可移动。 对于indentity,有些文章译为有身份的,有些文章译为具名的,本文统一称为具名的。...在上述代码中: 定义了结构体S和函数fun() 第6行声明了类型为S的变量s,因为其是具名的,所以是glvalue 第七行同上,因为s具名,所以为glvalue 第8行中调用了move函数 ,将左值s...rvalue可以影响函数重载:当被用作函数实参且该函数有两种重载可用,其中之一接受右值引用的形参而另一个接受 const 的左值引用的形参时,右值将被绑定到右值引用的重载之上。

69021

vue源码分析-插槽原理

("," + children) : ''); // 具名插槽的其他处理 ··· return res + ')' }最终子组件的render函数为: "with(this)...回顾一下,具名插槽和普通插槽实现上有明显的不同,普通插槽是以componentOptions.child的形式保留在父组件中,而具名插槽是以scopedSlots属性的形式存储到data属性中。...而最终的核心是执行nodes = scopedSlotFn(props),也就是执行function(){return [_c('span',[_v("头部")])]},具名插槽之所以是函数的形式执行而不是直接返回结果...10.4.1 父组件编译阶段作用域插槽和具名插槽在父组件的用法基本相同,区别在于v-slot定义了一个插槽props的名字,参考对于具名插槽的分析,生成render函数阶段fn函数会携带props参数传入...回过头看看为什么具名插槽是函数的形式执行而不是直接返回结果。

65230

闭包(Closure)和匿名函数(Anonymous function)lambda表达式的区别

闭包(Closure)和匿名函数(Anonymous function)/lambda表达式的区别 函数最常见的形式是具名函数(named function): function foo(){...("anonymouse function") } nameless() 上面的function(){...}就是匿名函数(anonymous function),这个匿名函数也叫做lambda表达式...,即lambda表达式就是匿名函数。...闭包可以具名也可以匿名,上面是具名的形式,可能在很多编程语言无法实现,也可以使用下面的匿名形式: function outer(){ var a = 10; return function...inner(){ console.log(a); }; } outer()() 所以两个是不相同但是相关的概念,总结来说: lambda是没有名字的函数,等价于匿名函数 闭包是作用域闭合于外部函数环境的函数

1.2K10
领券