技术池(jishuchi.com) 本次搜索耗时 6.089 秒,为您找到 64 个相关结果.
  • 与 java 的对比

    与 java 的对比 一些 java 的问题 java 有的而 kotlin 没有 kotlin 有的而 java 没有 与 java 的对比 一些 java 的问题 Kotlin 修复了 java 的一系列问题 Null 引用交给了类型系统 控制 没有 raw 类型 Arrays 在 kotlin 中是不变的 kotlin 有...
  • 内联函数

    内联函数 @noinline 返回到非局部 实例化参数类型 内联函数 使用高阶函数 带来了相应的运行时麻烦:每个函数都是一个对象,它捕获闭包,即这些变量可以在函数体内被访问。内存的分配,虚拟调用的运行都会带来开销 但在大多数这种开销是可以通过内联文本函数避免。下面就是一个很好的例子。lock() 函数可以很容易的在内联点调用。思考一下下面的...
  • 包 默认导入 Imports 顶级声明的可见性 包 代码文件以包声明开始: package foo . bar fun bza () {} class Goo {} //... 代码文件的所有内容(比如类和函数)都被包含在包声明中。因此在上面的例子中, bza() 的全名应该是 foo.bar....
  • 编码规范

    编码规范 命名风格 冒号 Lambdas 类声明格式 Unit 函数 vs 属性 原文 编码规范 本页包含了当前 kotlin 语言的代码风格。 命名风格 如有疑惑,默认为Java编码约定,比如: —使用骆驼命名法(在命名中避免下划线) —类型名称首字母大写 —方法和属性首字母小写 —缩进用四个空格 —public ...
  • 多重声明

    多重声明 例子:一个函数返回俩个值 例子:多重声明和 Map 多重声明 有时候可以通过给对象插入多个成员函数做区别是很方便的,比如: val ( name , age ) = person 这种语法叫多重声明。多重声明一次创建了多个变量。我们声明了俩个新变量:name age 并且可以独立使用: println ( na...
  • 运算符重载

    运算符重载 转换 一元运算符 二元操作符 命名函数的中缀调用 运算符重载 Kotlin 允许我们实现一些我们自定义类型的运算符实现。这些运算符有固定的表示,和固定的优先级。为实现这样的运算符,我们提供了固定名字的数字函数和扩展函数,比如二元运算符的左值和一元运算符的参数类型。 转换 这里我们描述了一些常用运算符的重载 一元运算符 ...
  • Kotlin代码文档

    原文 待翻译 请暂时参考原文
  • 返回与跳转

    返回与跳转 break 和 continue 标签 返回到标签 返回与跳转 Kotlin 有三种结构跳转表达式: — return 默认情况下从最近的闭合函数或者匿名函数 返回。 — break 结束最近的闭合循环— continue 跳到最近的闭合循环的下一次循环 上述表达式都可以作为更大的表达式的一部分: val s = ...
  • 数据对象

    数据类 复制 数据类和多重声明 标准数据类 数据类 我们经常创建一个只保存数据的类。在这样的类中一些函数只是机械的对它们持有的数据进行一些推导。在 kotlin 中这样的类称之为 data 类,用 data 标注: data class User ( val name : String , val age : Int ) ...
  • 高阶函数与 lambda 表达式

    高阶函数与 lambda 表达式 高阶函数 内联函数 字面函数和函数表达式 函数类型 函数文本语法 函数表达式 闭包 函数表达式扩展 高阶函数与 lambda 表达式 高阶函数 高阶函数就是可以接受函数作为参数或者返回一个函数的函数。比如 lock() 就是一个很好的例子,它接收一个 lock 对象和一个函数,运行函数并释放 l...