Kotlin
shineflowers
每个人都是独一无二的……
展开
-
Kotlin Reference (十二) Extensions
most from referenceKotlin与C#和Gosu类似,提供了扩展一个新功能的类,而不必继承类或使用任何类型的设计模式,如Decorator(装饰者模式)。这是通过称为扩展的特殊声明完成的。Kotlin支持扩展功能和扩展属性。扩展功能要声明一个扩展函数,我们需要一个接收器类型(即被扩展的类型)作为其名称的前缀。以下是为MutableList扩展的swap功能:fun MutableL原创 2017-08-08 09:53:41 · 494 阅读 · 0 评论 -
Kotlin Reference (十一) Visibility Modifiers
most from reference类,对象,接口,构造函数,函数,属性及setters具有可见性修饰符(getter总是具有和属性一样的可见性)。在kotlin中油4个可视化修饰符:private,protected,internal,public。如果没有显式修饰符,则使用默认可见性public。包函数,属性和类,对象和接口可以在顶级上声明,即直接在包中:// file name: examp原创 2017-08-07 14:39:27 · 453 阅读 · 0 评论 -
Kotlin Reference (十) Interfaces
most from reference接口Kotlin中的接口非常类似于Java8,它们可以包含抽象方法的声明以及方法实现。与抽象类不同的是接口不能存储状态。它们可以具有属性,但这些需要是抽象的或提供访问器。 使用interface关键字定义接口interface MyInterface { fun bar() fun foo() { // optional body原创 2017-08-07 13:35:41 · 362 阅读 · 0 评论 -
Kotlin Reference (九) Properties and Fields
most from reference声明属性Koltin的类都有属性,这些属性可以声明为可变的,使用var关键字或用val关键字生声明不可变属性。class Address { var name: String = ... var street: String = ... var city: String = ... var state: String? = ...原创 2017-08-07 10:22:35 · 398 阅读 · 0 评论 -
Kotlin Reference (八) Classes and Objects
most from reference类Kotlin的类的声明使用关键字classclass Invoice {}类声明由类名、类头(指定其类型参数,构造函数等)和类体组成,由大括号括起来。如果一个类没有方法体,可以省略花括号。class Empty构造函数Kotlin中类可以有一个主要的构造函数和一个或多个辅助构造函数。主构造函数是类头的一部分:它在类名后面(可选的类型参数)class Pers原创 2017-08-04 14:20:45 · 400 阅读 · 0 评论 -
Kotlin Reference (一) Basic Syntax
什么是Kotlinkotlin翻译成中文叫"靠他灵", 他是由JetBrains公司发明的一种基于JVM的编程语言,目前Google宣布kotlin为Android开发的官方语言。Kotlin的优势全面支持Lambda表达式数据类 (Data classes)函数字面量和内联函数(Function literals & inline functions)函数扩展 (Extension fu原创 2017-07-28 09:48:35 · 599 阅读 · 0 评论 -
Kotlin Reference (十三) Data Class and Sealed Classes
数据类我们经常创建一个类,只能持有数据。在这样一个类中,一些标准功能通常是从数据中机械推导出来的。在Kotlin中,这被称为数据类,标记为data:data class User(val name: String, val age: Int)编译器自动从主构造函数中声明的所有属性生成以下成员:equals() / hashCode()toString() 的形式 “User(name=Jacki原创 2017-08-11 11:34:01 · 502 阅读 · 0 评论 -
Kotlin Reference (七) Returns and Jumps
Returns and Jumpskotlin有三个结构跳跃表达式return 默认情况下,从最近的封闭函数或匿名函数返回。break 跳出整个循环continue 跳出本次循环,进行下一次循环所有这些表达式都可以用作更大表达式的一部分:val s = person.name ?: return这些表达式的类型是Nothing类型Break and Continuekotlin中的任何表达式原创 2017-08-03 14:05:19 · 394 阅读 · 0 评论 -
Kotlin Reference (六) Control Flow
if表达式在kotlin中,if是一个表达式,即它返回一个值。kotlin中没有Java中的三元运算符。// Traditional usage var max = a if (a < b) max = b// With else var max: Intif (a > b) { max = a} else { max = b}// As expression val原创 2017-08-02 16:58:39 · 407 阅读 · 0 评论 -
Kotlin Reference (五) Packages
most from reference包源文件可以从包声明开始:package foo.barfun baz() {}class Goo {}// ... 源文件的所有内容(如类和函数)都包含在声明的包中。 如果没有指定包,则这样的文件的内容属于没有名称的default包。默认导入默认情况下,将多个软件包导入到每个koitlin文件中: -kotlin。* -kotlin.annotatio原创 2017-08-02 14:05:08 · 503 阅读 · 1 评论 -
Kotlin Reference (四) Basic Types
most from reference基本类型在kotlin中,一切都是对象,我们可以在任何变量上调用成员函数和属性。一些类型可以具有特殊的内部表示:例如,数字、字符和布尔值都可以在运行时被表示为原始值,但是对于用户来说,它们看起来像普通类。在本节中,我们将描述kotlin中使用的基本类型:数字、字符、布尔值、数组和字符串。数字kotlin以接近Java的方式处理数字,但不完全相同。例如,数字没有原创 2017-08-02 10:07:59 · 497 阅读 · 0 评论 -
Kotlin Reference (三) Coding Conventions
most from reference命名规则1.使用驼峰式命名规则,尽量避免在命名中使用下划线2.类型以大写字母开头3.方法和属性以小写字母开头4.使用4个空格缩进5.public的方法加上注释说明,以便他们能出现在Kotlin Doc中冒号分隔子类和父类的冒号前面应该加上一个空格,分隔对象实体和类的冒号前面没有空格interface Foo : Bar { fun foo(a: Int原创 2017-07-31 10:51:42 · 469 阅读 · 0 评论 -
Kotlin Reference (二) Idioms
most from referencepackage com.jackie.basicimport java.io.Fileimport java.nio.file.Filesimport java.nio.file.Paths/** * Created by Jackie on 2017/7/28. * Idioms * A collection of random and f原创 2017-07-28 15:23:46 · 436 阅读 · 0 评论 -
Kotlin Reference (十四) Generics
most from reference泛型和Java一样,Kotlin中的类可能有类型参数:class Box<T>(t: T) { var value = t}一般来说,要创建一个类的实例,我们需要提供类型参数:var box: Box<Int> = Box<Int>(1)但是,如果可以推断参数,例如从构造函数或其他方式,可以省略一个参数:val box = Box(1) // 1 ha原创 2017-08-18 17:21:39 · 518 阅读 · 0 评论