Kotlin 循环与函数详解:高效编程指南
Kotlin 循环
当您处理数组时,经常需要遍历所有元素。
要遍历数组元素,请使用 for 循环和 in 操作符:
示例
输出 cars 数组中的所有元素:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
for (x in cars) {
println(x)
}
您可以遍历各种类型的数组。在上面的示例中,我们使用了一个字符串数组。
在下面的示例中,我们遍历一个整数数组:
示例
val nums = arrayOf(1, 5, 10, 15, 20)
for (x in nums) {
println(x)
}
传统的 For 循环
与 Java 和其他编程语言不同,Kotlin 中没有传统的 for 循环。
在 Kotlin 中,for 循环用于遍历数组、范围以及其他包含可计数值的事物。
Kotlin 范围
使用 for 循环,您还可以使用 .. 创建值的范围:
示例
打印整个字母表:
for (chars in 'a'..'x') {
println(chars)
}
您还可以创建数字范围:
示例
for (nums in 5..15) {
println(nums)
}
注意:第一个和最后一个值包含在范围内。
检查值是否存在
您还可以使用 in 操作符检查值是否存在于范围内:
示例
val nums = arrayOf(2, 4, 6, 8)
if (2 in nums) {
println("存在!")
} else {
println("不存在。")
}
示例
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
if ("Volvo" in cars) {
println("存在!")
} else {
println("不存在。")
}
中断或继续一个范围
您还可以在范围/for 循环中使用 break 和 continue 关键字:
示例
当 nums 等于 10 时停止循环:
for (nums in 5..15) {
if (nums == 10) {
break
}
println(nums)
}
示例
跳过循环中的 10 并继续下一个迭代:
for (nums in 5..15) {
if (nums == 10) {
continue
}
println(nums)
}
Kotlin 函数
函数是只有在调用时才运行的一段代码。
您可以将数据(称为参数)传递给函数。
函数用于执行某些操作,它们也被称为方法。
预定义函数
事实证明,您已经知道函数是什么。在本教程中,您一直在使用它!
例如,println() 是一个函数。它用于向屏幕输出/打印文本:
示例
fun main() {
println("Hello World")
}
创建您自己的函数
要创建您自己的函数,请使用 fun 关键字,并写出函数名称,后跟括号 ():
示例
创建一个名为 myFunction 的函数,该函数应该输出一些文本:
fun myFunction() {
println("I just got executed!")
}
调用函数
现在您已经创建了一个函数,可以通过调用它来执行。
要在 Kotlin 中调用函数,写出函数名,后跟两个括号 ()。
在下面的示例中,myFunction() 被调用时会打印一些文本(操作):
示例
fun main() {
myFunction() // 调用 myFunction
}
// 输出 "I just got executed!"
如果您愿意,可以多次调用一个函数:
示例
fun main() {
myFunction()
myFunction()
myFunction()
}
// I just got executed!
// I just got executed!
// I just got executed!
函数参数
信息可以作为参数传递给函数。
参数在函数名称之后指定,在括号内。您可以添加任意数量的参数,只需用逗号分隔。请注意,您必须指定每个参数的类型(Int、String 等)。
下面的示例有一个函数,它接收一个名为 fname 的字符串参数。当调用函数时,我们传递一个名字,它在函数内部用于打印全名:
示例
fun myFunction(fname: String) {
println(fname + " Doe")
}
fun main() {
myFunction("John")
myFunction("Jane")
myFunction("George")
}
// John Doe
// Jane Doe
// George Doe
当一个参数传递给函数时,它被称为实参。所以,从上面的示例中:fname 是一个参数,而 John、Jane 和 George 是实参。
多个参数
您可以拥有任意数量的参数:
示例
fun myFunction(fname: String, age: Int) {
println(fname + " is " + age)
}
fun main() {
myFunction("John", 35)
myFunction("Jane", 32)
myFunction("George", 15)
}
// John is 35
// Jane is 32
// George is 15
注意:使用多个参数时,函数调用必须具有与参数数量相同的实参,并且实参必须以相同的顺序传递。
返回值
在上面的示例中,我们使用函数输出一个值。在下面的示例中,我们将使用函数返回一个值并将其赋值给一个变量。
要返回一个值,请使用 return 关键字,并在函数的括号后指定返回类型(在此示例中为 Int):
示例
具有一个 Int 参数和 Int 返回类型的函数:
fun myFunction(x: Int): Int {
return (x + 5)
}
fun main() {
var result = myFunction(3)
println(result)
}
// 8 (3 + 5)
使用两个参数
示例
具有两个 Int 参数和 Int 返回类型的函数:
fun myFunction(x: Int, y: Int): Int {
return (x + y)
}
fun main() {
var result = myFunction(3, 5)
println(result)
// 8 (3 + 5)
返回值的简写语法
还有一种更简短的语法来返回值。您可以使用 = 操作符代替 return,而无需指定返回类型。Kotlin 足够聪明,可以自动找出返回类型:
示例
fun myFunction(x: Int, y: Int) = x + y
fun main() {
var result = myFunction(3, 5)
println(result)
// 8 (3 + 5)
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
Kotlin 循环与函数详解:高效编程指南的更多相关文章
- KVC/KVO原理详解及编程指南
一.简介 1.KVC简介 2.KVO简介 二.KVC相关技术 1.Key和Key Path 2.点语法和KVC 3.一对多关系(To-Many)中的集合访问器方法 4.键值验证(Key-Value V ...
- 【转】 KVC/KVO原理详解及编程指南
原文地址:http://blog.csdn.net/wzzvictory/article/details/9674431 前言: 1.本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的 ...
- 转:KVC/KVO原理详解及编程指南
作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/9674431 转载请注明出处 如果觉得文章对你有所帮助,请通过留言或 ...
- STL之map与pair与unordered_map常用函数详解
STL之map与pair与unordered_map常用函数详解 一.map的概述 map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称 ...
- linux select函数详解
linux select函数详解 在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状 ...
- 【P2158】仪仗队&欧拉函数详解
来一道数论题吧. 这个题一眼看上去思路明确,应该是数论,但是推导公式的时候却出了问题,根本看不出来有什么规律.看了马佬题解明白了这么个规律貌似叫做欧拉函数,于是就去百度学习了一下这东西. 欧拉函数的含 ...
- 详解Python编程中基本的数学计算使用
详解Python编程中基本的数学计算使用 在Python中,对数的规定比较简单,基本在小学数学水平即可理解. 那么,做为零基础学习这,也就从计算小学数学题目开始吧.因为从这里开始,数学的基础知识列位肯 ...
- Linux C popen()函数详解
表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...
- fork()函数详解
linux中fork()函数详解(原创!!实例讲解) (转载) 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程 ...
- [转]javascript console 函数详解 js开发调试的利器
javascript console 函数详解 js开发调试的利器 分步阅读 Console 是用于显示 JS和 DOM 对象信息的单独窗口.并且向 JS 中注入1个 console 对象,使用该 ...
随机推荐
- nginx轮询负载均衡演示demo
1.nginx /conf/nginx.conf配置文件 #user nobody; worker_processes auto; #error_log logs/error.log; #error_ ...
- 各种语言的OEP大全
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 各种语言的OEP大全 日期:2017-5-19 阿珏 教程 ...
- uniapp windows 上架 apple store
香蕉云 蒲公英 ios上架助手iOS Development 开发!先用上架助手在certificates里面生成一个p12文件在profiles里面生成mobileprovision文件就欧克了 需 ...
- Mybatis if判断中使用了Ognl关键字导致报错解决方法
mybatis xml中使用OGNL解析参数,如果直接使用了关键字则会导致解析失败. 常见的关键字有: 字段 mybatis关键字 bor (字符|)的英文 xor 字符^的英文 and 字符& ...
- dig 命令详解及使用示例
一.背景知识 CNAME CNAME 是 Canonical Name 的缩写,它是 DNS(域名系统)记录的一种类型.CNAME 记录用于将一个域名映射(别名)到另一个域名.换句话说,当你访问一个设 ...
- 国产自主架构!龙芯2K1000LA工业核心板正式发布!
国产自主架构!龙芯2K1000LA工业核心板正式发布! 原创 Tronlong创龙科技 Tronlong创龙科技 2024-06-13 07:50 广东 Tronlong创龙科技 ,赞18 (点击视频 ...
- Java 方法中循环调用具有事务的方法
在Java中,循环调用一个具有事务的方法时,需要特别注意事务的边界和管理.通常,事务的边界是由框架(如Spring)来控制的,确保方法执行时数据的完整性和一致性.然而,在循环中调用事务方法时,每个调用 ...
- C++ 中的 lowbit
lowbit 的定义 首先了解 lowbit 的定义 \(lowbit(n)\) ,为 \(n\) 的二进制原码中最低的一位 \(1\) 以及其后面的 \(0\) 所表示的数 举个简单的例子: 将 \ ...
- 算法金 | 来了,pandas 2.0
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 210+/10000,内含 Pandas 是一个强大的数据分析库,广泛应用于科学 ...
- 【实操记录】MySQL主从配置
本文使用MySQL原生支持的主从同步机制,详细记录了配置步骤及运维操作方法,可供大家直接参考.使用. 本文假设已经部署了两台主机的MySQL软件,且数据库服务正常,详细部署步骤可本站搜索:" ...