Exit Sub Else '遍历所选的单元格 For Each rng In Selection '在数据工作表中查找相应的值所在的单元格
那么中文名即为 应用程序接口。 那么什么是应用程序接口呢?...我们举个例子说明一下情况;应用程序接口可以比作为快递的领取,你不需要知道快递从发送到你收到之间发生的过程,你只需要在快递到达的时候去领取即可;此时领取快递的地点就相当于一个接口,你通过这个接口获取你想要的信息或者是资源...这就是一个接口的定义,屏蔽了其中复杂的过程,你是用这个接口,那么就直接获取到相应的信息。...知道了接口的作用,那么Windows API——Windows 应用程序接口就比较容易理解了,Windows是Windows系统,也是一个应用程序,Windows 提供了不同的服务,这些服务通过一些特定的方式进行调用...如果此参数为空,则消息框没有所有者窗口。
12.1 元编程简介 说到元编程(Meta-programming),我们从 Meta- 这个前缀开始说起。Meta- 这个前缀在在西方哲学界指的是:关于事物自身的事物。...元编程通常有两种方式:一种是通过应用程序接口(API)来暴露运行时系统的内部信息;另一种方法是在运行时动态执行包含编程命令的字符串。因此,“程序能编写程序”。...例如,在 Spring 、 Mybatis 、JPA 等诸多框架中的核心功能都是使用了注解与反射的技术来实现的。...核心就在于注解处理的代码了。本小节我们将学习到怎样进行注解信息的获取和处理。因为注解信息的获取主要是使用反射API,所以我们也会在本节中讲到反射相关的内容。...不过因为反射功能的应用场景并非所有编程场景都用到,所有Kotlin把kotlin.reflect 包的实现放到了单独的kotlin-reflect-1.1.50.jar (当前版本号是1.1.50) 里面
从Web处理的角度看,如果一个进程死掉,至少它不会影响到其它的进程。...2、HTTP.sys 联系 WAS 获取配置信息。 3、WAS 向配置存储中心(applicationHost.config)请求配置信息。 ...针对不同的动态应用程序(例如ASP,PHP等),会需要不同的ISAPI(Internet Server Application Programe Interface,互联网服务器应用程序接口)。...集成模式:asp.net不再像IIS6一样只限定于aspnet_isapi.dll中,而是被解放出来,从IIS接收到HTTP请求开始,即进入asp.net的控制范围,asp.net可以存在于一个请求在IIS...总结与扩展: 对于处理ASP.NET应用程序而言,IIS6及IIS7的经典模式需要aspnet_isapi.dll来处理,而IIS7集成模式不需要aspnet_isapi.dll来处理,而可以直接根据文件扩展名找到相应的处理程序接口
而从以上说明也可以看到JetBrains不仅实力强劲,这家公司对于语言设计更是有天然优势。Kotlin是集多家语言之大成。 Kotlin的优势 那么,相比Java等语言,Kotlin有什么优势呢?...新特性 1,空安全 在Kotlin中,对象声明分为可空引用和非空引用两种。其中非空引用的定义如下: 而可空引用需要使用安全符“?”...但是这里要注意一点,如果从Java返回的集合,不会强制做可空检查,这个是时候如果给不可空引用赋值Java集合中的null会出现转换错误异常。...,这种动态获取信息以及动态调用对象方法的功能特性被称为反射机制。...与Anko进行Android开发 14.5.1 Anko简介 14.5.2 Anko核心组件与工具 14.5.3 Anko使用实例 14.7 小结 第15章 Kotlin互操作 15.1 Kotlin与
从去年的转向OpenJDK,到现在的支持Kotlin作为官方语言,某种意义是为了摆脱藉由9行代码敲诈获取天价赔偿的Oracle。 选用Kotlin,实至名归,这个荣誉它值得拥有。...Kotlin在国外至少有将近2年的应用生产环境的实践(非JetBrains内部实践应用)。...Kotlin是空指针安全的,JetBrains做了一件很聪明的事情,它们将运行时才能空指针的检测提前到了编译时,主要方式是增加了Any?...这种可为空的类型,使用Kotlin之后,我们程序的空指针会得到明显的改善。 3.实用,高效率。...Kotlin的实用具体表现在 引入Object,便于我们更好的应用单例模式 引入data class, 避免了我们手写getter/setter/toString等方法 引入参数默认值和具名参数,避免了不必要的方法重载
更多的 (参与) 用户数量 - 更好的自然搜索数据和品牌认可度可以带来更好的用户获取和留存,这也会影响参与度和降低漏斗指标。 使用 Kotlin 构建的应用出现崩溃的可能性降低了 20%。...整体上看,Kotlin 的空安全特性帮助点评 Android 应用将空指针导致的崩溃从日均 3 个降低至 0。...2017 年,中国电信营业厅应用团队就开始使用 Kotlin,现在他们的新项目大约有 50% 的代码都是 Kotlin 编写。团队成功将空指针异常的出现概率 降低了 80% 之多。...立即使用 Kotlin,降低崩溃率,提高用户满意度,并保持较高的应用评分让您的用户留存和获取始终处于领先地位。...您可以进一步阅读如何 利用 Kotlin 打造更优质的应用,并通过我们的 案例研究 来了解开发者如何从 Kotlin 中获益。
在当今的软件开发领域,API(应用程序接口)的重要性日益凸显。RESTful API 作为其中的一种重要形式,以其简洁、灵活的特点深受开发者喜爱。...REST 的核心原则无状态:每次请求都包含所有必要的信息。客户端-服务器:明确区分了客户端和服务端的角色。缓存:允许客户端缓存响应数据。统一接口:通过一组定义良好的接口进行交互。...示例:设计一个用户管理 API假设我们要设计一个简单的用户管理 API,可以执行以下操作:获取所有用户列表创建新用户更新用户信息删除用户URI 设计GET /users:获取所有用户列表。...实现 RESTful API:使用 ASP.NET Core Web APIASP.NET Core 提供了一个强大的框架来快速构建 RESTful API。...步骤 1: 创建一个新的 ASP.NET Core Web API 项目dotnet new webapi -n MyRestApicd MyRestApi步骤 2: 定义模型在项目中添加一个 Models
比如在简洁方面,Kotlin支持data class,各种语法糖、缺省参数、对象扩展等,在安全方面,Kotlin支持可控类型,彻底告别空指针异常问题等。...其实Kotlin跟Swift很像,选择Kotlin而不是Swift,我猜测跟当年从WebKit上面拉取Blink分支独立发展一样,Google在技术改革上比较激进,天马行空,而Apple相对保守,哈哈。...第二部分主要是结合经验,给出一些VR设计过程中的经验值,来创建出清晰可用的屏幕界面,来让VR使用者体验起来更舒适。...主要介绍可以通过使用Vulkan API(一个低开销、跨平台的二维、三维图形与计算的应用程序接口)来显示控制Command Buffer的提交时机等来让CPU和GPU执行更均衡。...这个是今天参加的最后一个主题,介绍如何优化Web应用和Web游戏的绘制性能,我感觉干货还是不错的,可惜参加的开发者比较少。 ? 演讲者首先介绍的是Image的加载问题。
Null-safe类型是Kotlin的杀手级特征。这个想法很好。在Kotlin,类型是默认的非空值。如果您需要一个可空类型,您需要添加?符号,例如: ?...意味着具有未定义空值的T类型。这种奇怪的类型不能用Kotlin来表示,它只能从Java类型推断出来。T!会误导你,因为它放松了对空的限制,并禁用了Kotlin的空值安全限制。...现在 Optional 广泛应用于 API 边界,用于处理可能含空值的返回类型。 Kotlin 中并没有与 Optional 等价的东西。看起来你应该使用 Kotlin 的可空类型封装。...通常,在使用 Optional 时,你会先进行一系列空安全的转换,最后来处理空值。 比如在 Java 中: ? 在 Kotlin 中也没问题,使用 let 功能: ? 可以吗?...所以很可能,你不会在核心领域模型中使用它们。 这个局限性不是Kotlin的错。没有办法在不违反Liskov原则的情况下生成正确的基于值的equals()实现。
作为一门新秀语言,Kotlin 不仅支持编写代码在虚拟机上运行,而且还是一门跨平台的通用型语言:你可以用 Kotlin 开发各种类型的原生应用,如 macOS 应用、Windows 应用、JavaScript...应用,当然还有 Android 应用。...Kotlin 对函数式编程的支持 函数式编程并不能完全取代面向对象编程,函数式编程擅长数据处理,如核心业务逻辑、算法实现等;而面向对象擅长构建 UI 界面编程、搭建系统架构等。 2....对可空类型的支持 空指针异常是 Java 最为头痛的问题之一,Java 数据类型可以接收空值。...而 Kotlin 数据类型默认不能接收空值,是非空数据类型,这样保证了数据类型的安全,防止空指针异常的发生。
Kotlin 是一种与 Android 兼容的语言,它不仅语法简洁、更具表达性,还具备类型安全和空值安全的特性。...IDE 还为 Kotlin 提供其他哪些类型的支持 (例如 Lint、自动填充、重构等)? 从 Android Studio 3.0 开始,我们的 IDE 已为 Kotlin 提供全面的工具支持。...Google 正在与 JetBrains 开展合作,确保开发者在整个开发过程中 (从语言到框架再到工具) 都能获得出色的体验。...它们尚未准备就绪,但您可以在 Android 参考概览中找到指向可用 Kotlin 参考的链接。如果您要寻找核心 Kotlin 语言参考,请查看 Kotlin 标准库参考。...例如,在新的集合实例间重复复制会影响 GC 性能,调用允许非空类型的方法会导致调用空值检查方法 (当然,您可以在编译器中使用 -Xno-param-assertions 停用运行时空值检查)。
ASP.NET Web API的核心框架是一个消息处理管道,这个管道是一组HttpMessageHandler的有序组合。...Web API的应用程序接口基本上都采用这样的定义方式。...组成ASP.NET Web API核心框架的消息处理管道就这么简单。...如果在构造HttpServer的时候没有显式指定这两个属性的值(调用默认的无参构造函数创建HttpServer),在默认情况下会创建一个HttpConfiguration作为Configuration的属性值...HttpRequestMessage的属性字典之中,我们可以直接调用HttpRequestMessage的如下两个扩展方法GetRouteData和SetRouteData进行HttpRouteData的获取和设置
如果仅使用自定义启动程序创建项目,则核心启动程序将支持Spring引导的核心功能。 50....有关 更多信息,请参阅 Spring Framework Kotlin支持文档。 从Spring Boot和Kotlin开始的最简单方法是遵循 这个全面的教程。...Kotlin还允许使用具有可空值的功能构造,如本 Kotlin中关于零安全性的综合指南中所 述。...默认情况下,Kotlin中使用的Java API类型被识别为 放宽空检查的平台类型。...strict 值需要在从Spring API推断的Kotlin类型中考虑空安全性,但应该使用Spring API可空性声明甚至可以在次要版本和更多检查之间 发展的知识可能会在将来添加)。
当然这里仅仅是说上手或入门(仅入门的话可以忽略诸如协程等高级特性),真正熟练应用乃至完全掌握肯定需要一定时间。...“防御式编程”大家应该不陌生,核心思想是不信任任何“外部”输入 —— 不管是真实的用户输入还是其他模块传入的实参,具体点就是各种判空。...,后端没传该值就会抛出空指针异常。 2. 过分依赖 Kotlin 的空值检查 private lateinit var mUser: User ......let { doSomething(it) } 四、实践中碰到的问题 从 Java 的空处理转到 Kotlin 的空处理,我们可能会下意识去寻找对标 Java 的判空写法:...= null) a else b,也就是它之前的值非空返回之前的值,否则返回之后的值。
ASP.NET MVC的整个Model验证系统以组件ModelValidator为核心,或者说Model对象的验证最终通过某个ModelValidator对象来完成,所以我们有必要先来认识一下ModelValidator...MVC应用编程接口中,所有的ModelValidator都直接或者间接地继承自抽象类型ModelValidator。...如果目标数据符合所有的验证规则,Validate方法会直接返回Null或者一个空ModelValidationResult集合。...实际上,表示验证成功的Success字段值就是Null。...而表示错误消息的字符串是从内部维护的资源文件中获取的。这实际上带来了一个问题,我们无法对错误消息进行定制。
在一个ASP.NET MVC应用来说,针对HTTP请求的处理和相应定义Controller类型的某个Action方法中,每个HTTP请求的目标对象不再像ASP .NET Web Form应用一样是一个物理文件...属性Namespaces表示辅助Controller类型的解析而设置的命名空间列表,该属性值从DataTokens字典中提取,对应的Key为namespaces。...我们之前已经提到过ASP.NET MVC本质上是两个自定义的ASP.NET组件来实现的,一个是自定义的HttpModule,另一个是自定义的HttpHandler,而后者从RouteData的RouteHandler...三、UrlRoutingModule 路由表的目的在于对当前的HTTP请求进行解析从而获取一个以Controller和Action名称为核心的路由数据,即上面介绍的RouteData,而整个解析工作是通过一个类型为...ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller
如果您通过start.spring.io引导 Kotlin 项目,则默认提供这些。 17.2.零安全 Kotlin 的关键特性之一是空安全,它null在编译时干净地处理值。...这通过可空性声明和“值或无值”语义的表达使应用程序更安全,而无需支付包装器的成本,例如Optional. (Kotlin 允许使用具有可为空值的函数式构造。请参阅Kotlin 空值安全性综合指南。)...请参阅存储库方法的空处理如何将空安全应用于 Spring 数据存储库。...对于 Kotlin 1.1+ 版本,默认行为与-Xjsr305=warn. strict考虑到 Spring Data API 空安全,该值是必需的。...对于返回值,从 Reactive 到 Coroutines API 的转换如下: fun handler(): Mono 变成 suspend fun handler() fun handler
现在,使用Kotlin编写的代码,可以在所有的应用程序中(包括后端,浏览器前端和Android移动应用程序)中重复使用。 ?...跨平台 跨平台项目是 Kotlin 1.2 中的一个新的实验性功能,它允许开发者从相同的代码库构建应用程序的多个层——后端、前端和Android应用程序,在这个跨平台方案中,主要包含三个模块。...为确保与新模块系统的兼容性,Kotlin做出的另一个更改是将kotlin.reflect从kotlin-reflect库中移除。...返回不正确true时x为空。从Kotlin 1.2开始,调用x.equals(…)一个平台类型的null值会抛出一个NPE (但是x == …不会)。...内联扩展空修复 在以前的版本中,在平台类型的空值上调用的内联扩展函数没有检查接收器是否为null,并因此允许null转义到其他代码中。
都已经开始从 Java 转向 Kotlin。...因为 Kotlin 的设计允许从 Java 进行简单的转换,并具有经过深思熟虑的互操作性。...在一些复杂的情况下,Kotlin 的空检查省略还可能漏掉空值通过,进而引发空指针异常。例如,如果 Kotlin 代码调用由 Java 接口实现的 Kotlin 接口,就会发生这种情况。...而在尝试为现有应用程序引入 Kotlin 时,Meta 也遇到了很多麻烦,例如需要更新 Redex 以支持 Java 不生成的字节码模式。...以及使用的某些内部库依赖于在编译期间进行字节码转换来获取更好的性能。而将其作为 Kotlin 编译的一部分运行时,这部分代码则无法生效。为此,Meta 专门构建了解决工具。
领取专属 10元无门槛券
手把手带您无忧上云