Kotlin中函数的基本用法以及函数类型
函数的基本用法
1、函数的基本格式

2、函数的缺省值
可以为函数设置指定的初始值,而不必要传入值
private fun fix(name: String,age: Int = 2){println(name + age)
}fun main(args: Array<String>) {fix("张三")
}
输出结果为:张三2
private fun fix(name: String,age: Int = 2){println(name + age)
}fun main(args: Array<String>) {fix("张三",100)
}
输出结果为:张三100
3、Unit函数
不是所有的函数都有初始值,Kotlin中没有返回值的函数叫做Unit函数。
4、Noting类型
TODO函数的任务就是抛出异常。
fun main(args: Array<String>) {fix("张三",100)TODO("异常")
}


5、反引号的函数名
为了支持Kotlin和Java的互相操作,而Kotlin和Java各自有着不同的关键字,不能作为函数名,此时使用反引号就能避免冲突


在这里is作为Kotlin的一个关键字。
6、匿名函数
可以非常简单的定义标准库的内置函数,匿名函数通常整体传递给其他函数,或者从其他函数返回。
6.1 count用于计算字符串大小

使用匿名函数可以计算指定的字符串所包含的字符个数
val total1 = "Mississippi".count {letter -> letter == 's'}
println(total1)

6.2 匿名函数的隐式返回
和具体名函数不一样,一般情况下隐式函数不需要return关键字返回数据,匿名函数会隐式或自动返回函数体最后一行语句的结果。

6.3 it关键字
定义只有一个参数的匿名函数时,可以使用it关键字表示参数名。当你需要传入两个值参,it关键字就不能使用了


相关文章:
Kotlin中函数的基本用法以及函数类型
函数的基本用法 1、函数的基本格式 2、函数的缺省值 可以为函数设置指定的初始值,而不必要传入值 private fun fix(name: String,age: Int 2){println(name age) }fun main(args: Array<String>) {fix("张三") }输出结果为:张三2 …...
在macOS使用VMware踩过的坑
目录 MAC提示将对您的电脑造成伤害/MAC OS 升级到10.15.3后vmware虚拟机黑屏 mac系统下,vm虚拟机提示打不开/dev/vmmon mac VMware Workstation 在此主机上不支持嵌套虚拟化 mac VMware清理虚拟机空间 MAC提示将对您的电脑造成伤害/MAC OS 升级到…...
构建健壮的Spring MVC应用:JSON响应与异常处理
目录 1. 引言 2. JSON 1. 轻量级和可读性 2. 易于编写和解析 3. 自描述性 4. 支持多种数据类型 5. 平台无关性 6. 易于集成 7. 社区支持和标准化 3. 高效处理异常 综合案例 异常处理方式一 异常处理方式二 异常处理方式三 1. 引言 探讨Spring MVC中关键的JSON数据…...
那些配置服务器踩的坑
最近在配置内网,无外网的服务器,纯纯记录一下踩得坑,希望看到的人不要再走这条弯路。 ------------------------------------------------------------------------------------------------------------------------------- 任务ÿ…...
交换机端口镜像详解
交换机端口镜像是一种网络监控技术,它允许将一个或多个交换机端口的网络流量复制并重定向到另一个端口上,以便进行流量监测、分析和记录。通过端口镜像,管理员可以实时查看特定端口上的流量,以进行网络故障排查、安全审计和性能优…...
Spring源码分析(三) IOC 之 createBean()和doCreateBean()
a、在createBean中又是主要做了什么事情? 完成bean得创建,填充属性、循环依赖 、aop等一系列过程 1、createBean() 在createBean中主要干了3件事情 1、解析class -> resolveBeanClass() 2、验证及准备覆盖的方法,lookup-method replace-method -> …...
【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比)
文章目录 一、引言1、开发环境2、整体架构图 二、认识ArkUI1、基本概念2、开发范式(附:案例)(1)ArkTS(2)JS 三、附件 一、引言 1、开发环境 之后关于HarmonyOS技术的分享,将会持续使…...
Flink中的批和流
批处理的特点是有界、持久、大量,非常适合需要访问全部记录才能完成的计算工作,一般用于离线统计。 流处理的特点是无界、实时, 无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作,一般用于实时统计。 而在Flin…...
【LeetCode-中等题】150. 逆波兰表达式求值
文章目录 题目方法一:栈 题目 方法一:栈 class Solution {public int evalRPN(String[] tokens) {Deque<Integer> deque new LinkedList<>();String rpn "-*/";//符号集 用来判断扫描的是否为运算符int sum 0;for(int i 0 ; i…...
搭建ELK+Filebead+zookeeper+kafka实验
部署 Zookeeper 集群 准备 3 台服务器做 Zookeeper 集群 192.168.10.17 192.168.10.21 192.168.10.22 1.安装前准备 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装 JDK yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-…...
java专题练习(抢红包)
package 专题练习;import java.util.Random;public class grab_red_packet {/* 需求:直播抽奖,分别由{2,588,888,1000,10000}五个奖金,请用代码模拟抽奖,奖项出现顺序要随机且不重复打印效果:588元的奖金被抽出*///思路://1. 先用数组把奖金定义好//2. 用random方法给出随机数索…...
AVR 单片机 调试环境 JTAG MKII
注意 驱动 的厂家: 如果驱动备改变为其他厂家的驱动 就与 AVR Studio7不兼容 保证驱动选择正确是 能够使用硬件调试的关键 如果驱动不对,使用 USB驱动修改工具 修改 比如 UsbDriverTool.exe...
C++ - AVL树实现(下篇)- 调试小技巧
前言 本博客是 AVL树的下篇,上篇请看:C - AVL 树 介绍 和 实现 (上篇)_chihiro1122的博客-CSDN博客 上篇当中写插入操作,和其中涉及的 旋转等等细节,还有AVL树的大体框架。 调试小技巧 条件断点 在大项目…...
Mybatis懒加载
懒加载是什么? 按需加载所需内容,当调用到关联的数据时才与数据库交互否则不交互,能大大提高数据库性能,并不是所有场景下使用懒加载都能提高效率。 Mybatis懒加载:resultMap里面的association、collection有延迟加载功…...
DSOX3012A是德科技keysight DSOX3012A示波器
181/2461/8938是德科技DSOX3012A(安捷伦)示波器 是德科技DSOX3012A(安捷伦)是InfiniiVision 3000 X系列中的双通道型号。这款可升级示波器采用突破性技术设计,提供卓越的性能和功能。其独特的5仪器合一设计为相同的预算提供了更大的范围。 是德科技DSOX3012A示波器…...
基于网络表示学习的 新闻推荐算法研究与系统实现
摘要 第1章绪论 新闻推荐通常是利用用户的阅读行为和习惯、阅读选择和爱好等信息,为 用户推荐新闻内容。新闻推荐能够减少用户在数量庞大数据信息中获取信息的 时间消耗,从而能够缓解“信息过载[7]”的难题。以文本为内容的新闻,和商品、 电影、短视频等推荐系统相比,新闻推…...
<Altium Designer> 将.DSN文件导入并转换成SchDoc文件
目录 01 使用向导方式导入.DSN 02 消除Unique Identifiers Errors 03 文章总结 大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。 本文主要是总结和分享将OrCAD Capture画的原理图文件(.DSN)导入到Altium Designer,转换成对应的原理图文件…...
视频定格合璧,批量剪辑轻松插入图片
大家好!想要将视频与图片完美融合吗?现在,我们为您推出一款强大的批量剪辑工具,让您能够轻松在图片中插入视频,让您的创作更加精彩动人! 首先,第一步我们要进入媒体梦工厂主页面,并…...
【Tensorflow 2.12 电影推荐项目搭建】
Tensorflow 2.12 电影推荐项目搭建 学习笔记工具、环境创建项目项目配置安装相关python包召回模型实现排序模型实现实现电影推荐导入模块设置要推荐的用户召回推荐排序推荐推荐结果结尾学习笔记 Tensorflow 2.12 电影推荐项目搭建记录~ Tensorflow是谷歌开源的机器学习框架,可…...
python+opencv特征匹配算法
pythonopencv特征匹配算法 1.安装 pip install opencv-python pip install numpy2.算法明细 import cv2 import numpy as np# 读取两张图像 img1 cv2.imread(image1.jpg,0) # queryImage img2 cv2.imread(image2.jpg,0) # trainImage# 初始化SIFT对象 sift cv2.xfeatur…...
Benchmark.js 配置选项终极指南:如何优化你的 JavaScript 性能测试环境
Benchmark.js 配置选项终极指南:如何优化你的 JavaScript 性能测试环境 【免费下载链接】benchmark.js A benchmarking library. As used on jsPerf.com. 项目地址: https://gitcode.com/gh_mirrors/be/benchmark.js Benchmark.js 是一款专业的 JavaScript 性…...
DeepSeek-R1-Distill-Qwen-7B优化升级:提升推理速度的技巧
DeepSeek-R1-Distill-Qwen-7B优化升级:提升推理速度的技巧 1. 模型概述 DeepSeek-R1-Distill-Qwen-7B是基于Qwen架构的7B参数蒸馏模型,由DeepSeek团队开发。该模型通过知识蒸馏技术从更大的DeepSeek-R1模型中提取关键知识,在保持较高推理能…...
微信小程序集成AI能力:调用LFM2.5-1.2B-Thinking-GGUF实现智能聊天与内容生成
微信小程序集成AI能力:调用LFM2.5-1.2B-Thinking-GGUF实现智能聊天与内容生成 1. 为什么要在小程序里集成AI 微信小程序作为轻量级应用平台,用户使用门槛低、传播效率高。但传统小程序功能相对单一,缺乏智能化交互体验。通过集成LFM2.5-1.2…...
ExpressionUtil实战指南:从基础解析到高级应用
1. ExpressionUtil工具类入门指南 第一次接触ExpressionUtil时,我正被项目中复杂的表达式计算需求困扰。这个工具类就像瑞士军刀一样,帮我解决了各种字符串表达式处理的难题。简单来说,ExpressionUtil是Java开发中处理数学表达式、逻辑判断的…...
手把手教你:5分钟为你的静态网站嵌入AnythingLLM智能聊天机器人
5分钟为静态网站集成AnythingLLM智能聊天室的实战指南 你是否想过在自己的个人博客或产品官网上添加一个能回答访客问题的AI助手?就像那些科技公司官网右下角弹出的智能客服一样。今天我要分享的,是如何用AnythingLLM在5分钟内为任何静态网站嵌入一个私有…...
Phi-4-mini-reasoning惊艳效果:线性代数矩阵运算推理全过程展示
Phi-4-mini-reasoning惊艳效果:线性代数矩阵运算推理全过程展示 1. 模型概述 Phi-4-mini-reasoning是一款仅有3.8B参数的轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这款模型由微软Azure AI Foundry开发,主打"…...
第二章 从ROM到app_main:深入剖析ESP32 FreeRTOS双核启动的代码级实现
1. ESP32双核启动全景图:从硬件复位到RTOS就绪 第一次拿到ESP32开发板时,你可能和我一样好奇:按下复位键后,这个小小的芯片内部究竟发生了什么?为什么我们的app_main函数能自动运行?今天我们就用"显微…...
Phi-4-mini-reasoning应用场景:密码学协议安全性逻辑推演与攻击路径模拟
Phi-4-mini-reasoning应用场景:密码学协议安全性逻辑推演与攻击路径模拟 1. 模型概述 Phi-4-mini-reasoning是由微软开发的3.8B参数轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。该模型主打"小参数、强推理、长上下文、低延…...
C语言结构体内存对齐原理与实践
1. 结构体内存布局基础在C语言中,结构体(struct)是一种将不同类型的数据组合成一个整体的复合数据类型。理解结构体在内存中的实际存储方式,对于编写高效、可移植的代码至关重要。让我们从一个简单的例子开始:struct S…...
深入解析MMU:从虚拟地址到物理地址的转换机制
1. 为什么需要虚拟地址? 想象一下你正在玩一个大型多人在线游戏,游戏里每个玩家都有自己的房子、装备和任务进度。如果所有玩家的数据都混在一起存放,你的装备可能会被隔壁玩家不小心拿走,甚至整个游戏世界都会乱套。虚拟地址的出…...
