梳理学习Kotlin,Function的用法

从Java到Kotlin:现代JVM开发语言转型与核心特性实战指南 在JVM生态中,编程语言的演进始终围绕提升开发效率与代码安全性展开。其核心原理在于通过更先进的类型系统、语法糖和函数式编程范式,从编译期而非运行期规避常见错误。这种演进的技术价值在于显著减少空指针异常等运行时崩溃,并大幅提升代码的表达力和可维护性。在Android开发、后端服务及多平台应用等场景中,现代语言特性已成为提升工程效能的关键。本文聚焦于Kotlin,它作为Java的现代化替代,通过**空安全**类型系统和**协程**等并发模型,为开发者提供了更简洁、安全的工具集,帮助团队平滑实现技术栈升级与生产力 阅读详情
示例:

main函数

fun main(args: Array<String>) {}

完整函数

fun fib(n: Int): Long {
    return if (n < 2) 1 else fib(n - 1) + fib(n - 2)
}

简化返回值函数

fun fib(n: Int): Long = if (n < 2) 1 else fib(n - 1) + fib(n - 2)

参数带默认值

fun fib(n: Int = 5): Long = if (n < 2) 1 else fib(n - 1) + fib(n - 2)

通过默认参数实现了Java重载的效果

fun fetch(preloadId: String, page: Int, size: Int = 20) {}
fetch(1, 2, 3)
fetch(size = 1)
fetch(1, 2)

扩展函数

fun Date.plusDays(n: Int) = Date(this.time + n * 86400000)

扩展函数调用静态函数

fun Date.print() = println("Date: $this")
// 可链式调用
Date().plusDays(1).print()

中缀函数

infix fun <A, B> A.to(that: B) = Pair(this, that)

操作符函数(操作符函数有明确范围,当输入operator fun Int.有所有支持操作)

operator fun Int.times(str: String) = str.repeat(this)

其中中缀,操作符函数为扩展函数的实现方式,也就是静态内部类,参数默认值,则通过完整函数和生产帮助函数的参数达到效果

public final void fetch(@NotNull String preloadId, int page, int size) {
   Intrinsics.checkNotNullParameter(preloadId, "preloadId");
   System.out.println(preloadId);
}

// $FF: synthetic method
public static void fetch$default(Practice var0, String var1, int var2, int var3, int var4, Object var5) {
   if ((var4 & 4) != 0) {
      var3 = 20;
   }

   var0.fetch(var1, var2, var3);
}
TensorFlow生态实战地图:SavedModel、tf.function与三大部署通道 TensorFlow已从单一深度学习框架演进为分层AI基础设施栈,其核心在于模型表示、执行模式与部署目标的严格解耦。SavedModel作为唯一可信的模型交付格式,承载可执行、可移植、可验证的计算图与签名;tf.function则是Python动态执行与Core层静态图编译之间的关键开关,决定性能与调试体验的边界。技术价值体现在跨平台一致性——同一模型经不同转换路径(TF Serving云服务、TFLite移动端、TF.js Web端)实现场景适配,但必须遵循格式约束与算子兼容性规则。典型应用场景包括高并发 阅读详情

相关推荐

贝壳找房移动端校招笔试全解析:从HashMap到Handler的考点梳理

移动端开发是当前软件工程领域的热门方向,涉及Android、iOS以及跨端技术,对开发者基础功底和实战能力要求颇高。在技术面试与校招笔试中,HashMap的扩容与红黑树转换、Handler消息机制、冷启动优化等是高频考点,而这些知识不仅考察记忆,更要求理解原理并能应用于实际场景。例如,HashMap链表转红黑树的阈值为何是8,Handler为何容易造成内存泄漏,以及如何利用vConsole调试线上H5页面,都是区分候选人的关键问题。本文基于贝壳找房移动端校招真题,系统梳理了从Java基础到平台专项,再到性能

weixin_30908941的博客 274

Kotlin学习之函数

学习Kotlin中的函数的使用方法

稀有猿诉 2169

AI逆向工程师学习路线:从爬虫基础到智能Agent实战

在网络安全与数据采集领域,逆向工程是理解系统内部逻辑、分析数据流与协议的关键技术。其核心原理在于通过静态分析与动态调试,解析软件或网络应用的行为机制,从而复现或绕过其限制。随着AI大模型的兴起,传统逆向技术正与智能体(Agent)深度融合,催生出新一代技术范式。AI能够辅助工程师快速理解混淆代码、生成解密函数,甚至构建自适应网站变化的智能爬虫Agent,极大提升了逆向分析与数据采集的效率和智能化水平。这种融合技术尤其适用于复杂反爬策略应对、自动化安全测试及大规模数据采集等场景,为工程师提供了从基础爬虫到AI

weixin_34380948的博客 408

4:kotlin 方法(Functions)

kotlin方法声明

qq_40104261的博客 840

Android开源项目精选与开发实践指南

Android开源生态通过AOSP和第三方项目为开发者提供了丰富的技术解决方案。在移动开发领域,开源框架如Xposed和Jetpack Compose通过Hook技术和声明式UI范式,显著提升了开发效率和性能表现。性能优化工具如Matrix和Epic实现了全链路监控和低损耗Hook,而网络库Retrofit与本地存储方案Room则优化了数据处理流程。这些技术不仅解决了Android开发中的常见痛点,更在电商、社交等高频场景中验证了其工程价值。通过合理选择活跃维护的开源项目,开发者可以快速构建高性能应用,其中

weixin_30399155的博客 418

安卓开发者AI术语全解析:从机器学习到端侧部署

机器学习与深度学习已成为移动应用智能化升级的核心技术,但安卓开发者面对训练集、过拟合、Transformer、RAG、量化、蒸馏等术语时往往难以快速建立完整认知。理解机器学习的基本原理,掌握训练与推理的根本区别,是踏入AI应用开发的第一步。模型训练产出参数文件,推理则在端侧执行预测,这一过程涉及数据标注、算法选择、模型压缩与部署优化。TensorFlow Lite、ML Kit 等工具让端侧推理成为现实,而大模型 API 则提供了云端智能能力。无论是实现图片分类还是智能问答,工程师都需要透析从数据准备到模型

weixin_34055787的博客 361

Kotlin学习——hello kotlin & 函数function & 变量 & 类 + 泛型 + 继承

1.kotlin初识; 2.function函数,变量,null; 3.泛型,接口,继承,超类;

Arya的博客,专注后端领域 1241

python3.12 在用django5.0创建超级用户时,遇到AttributeError: module ‘hashlib‘ has no attribute ‘pbkdf2_hmac‘的问题

产生问题的原因是python3.12的hashlib没有自带pbkdf2_hmac函数,该函数是加密算法的一种,只要通过别的函数导入pbkdf2_hmac即可。还有一种方法是将django默认使用的pbkdf2_hmac改为hashlib自带的sha2或其他算法返回加密的密码,笔者以后会尝试用此类办法解决问题。2.找到报错文件的位置/usr/local/lib/python3.12/site-packages/django/utils/crypto.py。保存修改的文件,重新执行创建超级用户的命令成功。

weixin_67057943的博客 851

Kotlin 协程 - 挂起函数 Suspend Function

什么时候定义需要做耗时操作的时候(I/O、计算、等待)才会挂起当前的协程。解决了什么创建者告知这是一个耗时操作,并指定了该协程在后台线程执行,保障了调用者的线程安全。suspend关键字用来限制该函数只能在协程里调用或者在其他挂起函数里调用,因为“挂起->执行完->切回去”只有在协程中使用才能实现。真正挂起操作靠的是最终调用的那个协程自带的挂起函数。也有提醒“这是一个耗时操作,是挂起函数要在协程中使用”的意思。

HugMua的博客 6960

第133章 PCL OrientedBoundingBox 有向包围盒

中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。

yumeiguo的博客 263

基于生存结局(生存分析/COX回归)的中介效应分析

① 建立观察变量OVB和中介变量MVB的回归模型(注意:这里根据mediation包的介绍,需要构建的是probit模型,而不是logist回归模型,网上有很多的代码用的logistic回归,结果自己跑的时候发现报错,我在这里陷了很久;为了方便演示,我们生成了一个协变量(Age)、一个连续型观察变量(liaOVC)、一个二分类观察变量(OVB)、一个连续型中介变量(MVC)、一个二分类中介变量(MVB)以及最后的结局变量(生存时间[time],生存结局[stats])。

m0_61863309的博客 1万+

Kotlin学习笔记——(八)高阶函数案例

注:编码工具为IntelliJ 目录 Kotlin的lambda表达式实现原理 高阶函数 函数作为函数参数 函数作为函数的返回值 高阶函数使用案例 回调 高阶函数配合扩展函数使用 函数作为最后一个参数的调用方式 模仿监听 Kotlin的lambda表达式实现原理 Kotlin内部定义了一系列FunctionX接口,在Function.kt文件中,开发者定义的lambda表达式(匿名函数),Kotlin底层会通过实现FunctionX接口的方式实现。 package...

miyuexingchen的专栏 1730

SAP 系统间 SSO 的真正价值,从 SM59 到可信 RFC 的安全设计

SAP S/4HANA系统间Single Sign-On(SSO)的核心价值在于集中管理通信身份与信任关系,而非仅减少密码输入。传统固定账号密码方式在系统规模扩大后会面临密码管理、审计追踪等挑战。通过SM59配置可信RFC目标系统,结合SSL证书或SAP Trusted System等强认证机制,能有效降低安全凭据暴露风险。SSO配置需配合授权对象、角色管理等建立清晰的信任边界,实现系统间安全通信的同时保持可审计性。这种方案特别适用于Fiori前端与S/4HANA后端等场景,通过可信RFC传递用户身份,避免

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1062

Android开发全栈学习路径与核心技术解析

移动应用开发领域中,Android系统以其开放的生态占据全球主要市场份额。理解Android技术栈需要掌握从应用层到系统层的完整架构,包括基于Java/Kotlin的APP开发、Framework核心服务机制以及Linux内核定制等关键技术。现代Android开发强调架构演进,从MVC到MVVM再到MVI模式,配合Jetpack组件实现高效开发。工程实践中需重点关注性能优化,如内存管理、网络请求缓存等,同时掌握ADB调试和逆向分析工具链能显著提升开发效率。对于进阶开发者,Framework层定制和蓝牙协议栈

weixin_33766805的博客 419

STM32入门教程:无人机控制

我们将会一步一步引导您完成无人机的控制代码,包括无人机的姿态控制、飞行控制和通信控制等。第三步:配置无人机姿态控制 无人机的姿态控制是指控制无人机在空中的倾斜和转向。为了实现姿态控制,我们需要使用加速度计和陀螺仪传感器来获取无人机的姿态信息,并使用PID控制算法来控制无人机的姿态。在这一步骤中,您需要根据您使用的具体传感器和控制算法的要求进行更详细的配置和编码。在通信控制中,您需要考虑到通信的稳定性和可靠性。第五步:通信控制 无人机的通信控制是指与地面站或其他设备进行通信,传输飞行数据和接收飞行指令。

m0_75244442的博客 747

【深度学习新浪潮】深度学习特别是大模型在图像配准方面的研发进展

深度学习,尤其是大模型的出现,彻底改变了图像配准的技术范式——从“手工设计特征+几何约束”走向“数据驱动+通用特征学习”。当前,大模型配准已在医学影像、遥感、工业检测等领域实现商业化落地,解决了传统方法难以应对的跨模态、少样本、复杂形变等问题。但大模型配准仍面临推理效率、可解释性、数据隐私等挑战,未来的研发核心将是“精度与效率的平衡”“泛化能力的提升”“场景化适配的简化”。对于开发者而言,从简化版大模型配准代码入手,逐步理解预训练+微调的核心逻辑,是衔接前沿技术的有效路径。

专注:太空算力、AI infra、异构调度、大模型成本工程 424

2026年Android开发核心能力与面试指南

现代Android开发已从基础功能实现转向全栈技术深度,Kotlin与Compose成为主流技术栈。掌握协程、KMM跨平台等核心技术,理解MVVM架构与性能优化原理,是构建高质量应用的关键。在电商、社交等高频场景中,启动优化与内存管理直接影响用户体验。本文通过技术图谱解析与面试案例,系统阐述Android工程师必备的架构设计能力与性能调优方法,帮助开发者应对2026年的技术挑战。

weixin_33907511的博客 449

【SpringBoot 4.x 第29节】Spring Security 7 入门:先理解认证和授权!

🏆 本文收录于 《滚雪球学 Spring Boot 4.x》 专栏。本专栏面向 有一定 Java 基础,但尚未系统学习 Spring Boot 的读者,采用“滚雪球式学习法”:先跑通、再理解、再重构、再上线,带你从第一个 Hello API 开始,逐步完成一个可部署、可监控、可扩展的后端项目。

**My Coding Family** 551

KMP全栈开发:从Android到AI Agent的技术演进与实践

总结:KMP 打通了客户端的技术栈,而 AI Agent 则打通了人机交互的智能鸿沟。两者的结合,为开发者提供了一条构建下一代智能、跨平台应用的清晰路径。行动号召:不必一步到位,可以从用 KMP 共享一个工具类开始,再尝试为你的应用添加一个简单的 AI 摘要功能。循序渐进,拥抱变化。

2602_96169699的博客 217

R语言机器学习算法实战系列(十三)随机森林生存分析构建预后模型 (Random Survival Forest)

本教程运用随机森林生存分析筛选与患者生存状态显著相关特征。该方法借随机森林这一强大机器学习算法,构建多棵决策树并集成结果,以提高生存分析准确性,识别关键生物标志物。接着,利用选定特征构建风险得分,将多个特征转化为单一数值,量化患者风险水平。之后,依据风险得分将患者分为高、低风险亚型,为临床治疗提供个性化指导。最后,通过分析时间依赖的 ROC 曲线评估模型长期预测能力。此曲线计算不同阈值下的真正例率与假正例率,在多个时间点评估,全面展现模型长期稳定性与准确性。

专注生信领域 2018

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

flutter学习笔记

1.跨平台移动UI框架2.与现有的代码一起工作(可以直接嵌入到原生代码中或直接把原生代码嵌入到自己的代码中运行)3. 完全免费、开源。

haoxuhong的博客 8243

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

APP逆向工程基础:工具、流程与实战解析

逆向工程是通过反编译和动态调试技术还原程序逻辑的重要方法,广泛应用于移动安全研究和漏洞挖掘领域。其核心技术包括Java/C++语言基础、ARM汇编理解以及工具链运用,如Jadx反编译和Frida动态Hook。在移动应用场景中,逆向工程能有效分析DEX字节码、Native库及网络协议,帮助开发者理解应用架构或安全研究人员发现潜在风险。本文以电商APP签名参数逆向为例,演示如何通过抓包、反编译和算法复现完成关键逻辑分析,同时强调需遵守法律边界,仅用于授权范围内的安全研究。

ckkay800264的博客 319

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

移动端AI Agent架构详解:从工具调用到系统分层

在人工智能应用落地的进程中,从大模型交互到智能体执行已成为关键跃迁。AI Agent 不再局限于云端服务,而是逐渐走进移动设备,承担起理解意图、调用工具、完成实际操作的任务。构建移动端 Agent 的核心挑战,在于如何将模型推理、设备上下文、系统能力与安全边界组合成稳定可用的执行系统。本文以 Android 环境为背景,通过 Kotlin 实现一个最小可运行的 Agent 循环,演示 Tool Calling 协议、设备感知分层的具体工程做法,并讨论常见错误排查及工程安全建议。这类架构实践对希望在 App

weixin_34161083的博客 372

端侧代理模型部署实战:轻量化语言模型与本地工具调用指南

随着大语言模型从云端走向设备端,如何在手机、平板、边缘设备上实现低延迟、高隐私的智能交互成为工程热点。端侧部署的核心在于轻量化,模型量化与推理框架选择决定了内存占用和响应速度。以2.6B参数轻量级模型为例,借助llama.cpp等推理框架,可在本地完成意图理解、工具调用与结果生成,实现真正的On-Device Agents。这种模式不仅降低网络依赖,还能保障数据安全。工程实践中需关注量化精度、上下文管理、Function Calling稳定性,并通过预热与缓存策略优化体验。本文围绕轻量化模型部署、工具调用、

weixin_30458043的博客 513

【AI Agent】2026年9月 AI Agent 全栈开发最新技术面试宝典(含高频+必背+大厂真题)

本文整理了2026年AI Agent全栈开发最新技术面试题,涵盖基础概念、核心框架和系统设计等关键领域。重点解析了AI Agent与普通Chatbot的本质区别(自主闭环执行能力)、Agentic Loop的完整工作流程(规划-执行-观察-评估循环),以及ReAct范式的原理与适用场景。特别强调面试回答技巧:需结合工程实践中的典型问题、处理方案和量化指标,而非简单背诵定义。内容来自字节、阿里等大厂真实面经,适合3-5年经验开发者准备春招面试,突出考察候选人在复杂场景下的技术决策能力。

小江的记录本 4617
上一篇: 梳理学习Kotlin,For Loops的用法
下一篇: 梳理学习Kotlin,特殊操作符的用法
PirateBrook
博客等级 码龄11年 90粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值