Kotlin 1 函数
#2 函数
函数声明和平时我见到的有点不太一样,使用关键字fun来声明。(感觉好欢乐的样子···O(∩_∩)O~~)
下面的示例,简单的声明了一个函数:
// 这是函数声明
fun this_is_a_function() {
// 这里是函数内部
}
好,下面我们一步一步来,首先是有返回值的函数,在函数声明后添加冒号,并写上返回值类型:(这里返回的是Int类型~~~)
// 这是有返回值的函数声明
fun this_is_a_function_by_return() : Int {
return 1
}
这里需要注意的一点是,像Java、C#这样的语言是需要在一行代码结束后加入分号的,而Kotlin则不是必须的,加不加都可以。
继续,我们来看如何传递参数进入一个函数,并且没有返回值:
// 这是需要传一个参数,并且无返回值的函数声明
fun function_name(name: String) {
println(name)
}
这里的参数类型是String。传递的参数可以是一个函数哦~
// 声明一个(传递一个参数的函数)的函数,并无返回值
fun function1(f : (Int)) = println(f)
// 声明一个(传递两个参数的函数)的函数,并有返回值
fun function2(f : (Int, Int) -> Int) = f(1, 2) // 调用function2
val sum = { x: Int, y: Int -> x + y}
function2(sum) // 返回3
继续传参,我们来看看传入多个参数并有返回值要如何写:
// 这里是传入多个参数,并且返回一个值的函数
fun sum(num1: Int , num2: Int) : Int {
return num1 + num2
}
Kotlin还提供了一些简单的写法来声明函数:
如果函数返回一个简单的值,即可使用等号直接返回,并可以省略返回值类型:
// 这个函数返回一个43的Int值
fun getInt43() = 43
当是一个公开函数时,使用public关键字,并且不可以忽略返回值类型:
// 这是一个公开的函数,必须声明返回值类型
public fun getInt43() : Int = 43
在module内可见,则需要使用关键字internal:
// 这是一个module内部可见的函数
internal fun getInt43() = 43
ok~,函数声明完成后,我们来看看函数如何调用~
// 调用this_is_a_function函数
this_is_a_function()
感觉好简单···(\(≧▽≦)/)
有返回值的函数调用如何进行?
// 调用返回Int值的函数this_is_a_function_by_return
var number = this_is_a_function_by_return()
传参怎么进行???和其他的一样,不过还可以定义传参的顺序~感觉萌萌哒(~\(≧▽≦)/~啦啦啦)
// 声明一个函数sum
fun sum(num1:Int, num2:Int) : String = num1.toString() + "+" + num2.toString() // 这里是传参
sum(1, 2) // 返回 1+2
sum(num1 = 1, num2 = 2) // 返回 1+2
sum(num2 = 1, num1 = 2) // 返回 2+1
Kotlin 1 函数的更多相关文章
- 初识Kotlin之函数
		本章通过介绍Kotlin的基本函数,默认参数函数,参数不定长函数,尾递归函数,高阶函数,Lamdba表达式.来对Kotlin函数做进一步了解.将上一篇的Kotlin变量的知识得以运用.Kotlin变量 ... 
- kotlin之函数的范围和泛型函数
		kotlin 中函数可以定义为局部函数,成员函数以及扩展函数 局部函数:就是嵌套在函数内的函数 成员函数就是定义在类或者对象之内的函数 泛型函数就是函数可以带有泛型参数,可通过尖括号来指定 
- Kotlin 中类函数
		在kotlin中函数可以在类外部定义也可以在类内部定义,前者即为全局函数,后者,是类成员函数,语法一样 package loaderman.demo class Person { fun demo(n ... 
- Kotlin 的函数定义和使用 (译文 转)
		Kotlin 的函数定义和使用 函数声明Kotlin 中的函数使用 fun 关键字声明 fun double(x: Int): Int {}函数用法调用函数使用传统的方法 val result = d ... 
- Kotlin匿名函数与闭包详解
		Lambda表达式实例演练: 继续先来编写一些Lambda表达式相关的代码: 接下来想从上面的字符串数组中找到带有"h"的字符串并打印出来: 如果学习了Java8的Lambda表达 ... 
- kotlin之函数的基本用法
		fun main(arg: Array<String>) { val )//调用函数 print(double) } fun double(x:Int):Int{ *x } kotlin函 ... 
- kotlin 作用域函数 : let、run、with、apply、 also、takeIf、takeUnless
		1.官方文档 英文: https://kotlinlang.org/docs/reference/scope-functions.html 中文: https://www.kotlincn.net/d ... 
- Kotlin(二)  函数定义
		1.不带参数,不返回值的函数 fun sum(){} 2.带参数,不带返回值的函数 fun sum(a:Int){} 3.带参数,带返回值的函数 fun sum(a:Int,b:Int) : Int{ ... 
- kotlin 泛型函数
		fun<T> singletonList(item:T):List<T>{ ..... } fun<T>T.basicToString():String{ .... ... 
随机推荐
- softmax实现cifar10分类
			将cifar10改成单一通道后,套用前面的softmax分类,分类率40%左右,想哭... .caret, .dropup > .btn > .caret { border-top-col ... 
- hdu 	6243,6247
			题意:n只狗,n个笼子,每个笼子只能有一只,求不在自己笼子的狗的数量的期望. 分析:概率是相等的,可以直接用方案数代替,k 不在自己的笼子的方案数是 n!- (n-1)!,这样的k有n个,总的方案数n ... 
- DisparityCostVolumeEstimator.cpp
			#include "DisparityCostVolumeEstimator.hpp" #include "DisparityCostVolume.hpp" # ... 
- Android学习笔记_22_服务Service应用之—与Activity进行相互通信的本地服务
			一.启动服务的两种方法方法: 第一种: startService()和stopService()启动关闭服务.适用于服务和Activity之间没有调用交互的情况.如果相互之间需要方法调用或者传递参数 ... 
- docker官方文档翻译5
			转载请标明出处: https://blog.csdn.net/forezp/article/details/80244682 本文出自方志朋的博客 堆栈(Stacks) 准备工作 安装Docker 1 ... 
- TIDB4  ——  三篇文章了解 TiDB 技术内幕 - 谈调度
			原文地址:https://pingcap.com/blog-cn/tidb-internal-3/ 为什么要进行调度 先回忆一下第一篇文章提到的一些信息,TiKV 集群是 TiDB 数据库的分布式 K ... 
- Java秒杀系统方案优化 高性能高并发实战(已完成)
			1:商品列表 2:商品详情判断是否可以开始秒杀,未开始不显示秒杀按钮显示倒计时,开始显示秒杀按钮,同时会显示验证码输入框以及验证码图片,当点击秒杀按钮的时候会首先判断验证码是否正确,如果正确会返回一个 ... 
- seajs简单使用
			背景:在做一个功能时需要用到一个JS库,但是这个库比较大,想要在只有用到这个功能时再去加载这个库. <script src="~/Scripts/jquery-1.10.2.min.j ... 
- php第一节(入门语法、数据类型)
			<?php /** * 变量命名用 $ 符 * 变量名称的命名规范 * 1.变量名称以$标示 * 2.变量名称只能以字母和下划线开头 * 3.变量的名称只能包含字母.下划线.数字 * 4.变量名 ... 
- Python语言与其他语言对比
			python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路,以下是Python与其他编程语言的优缺点对比: 一:简介 1.Python 优势:简单易学,能够把用其他语言制 ... 
