自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

farmer_cc的专栏

勿在浮沙筑高台

  • 博客(11)
  • 收藏
  • 关注

原创 Kotlin学习之-6.4 Coroutines

Kotlin学习之-6.4 Coroutines 在Kotlin V1.1中Coroutines 还处在实验阶段有些接口会做一些耗时的操作例如网络IO请求,文件IO, CPU或者GUP密集的工作等,并且要求调用者阻塞知道操作完成。Coroutines提供了一种能够替换避免阻塞线程的方法并且代价更小、控制性更好的操作:suspension of a coroutineCoroutines通过把复

2017-07-21 09:24:31 2729

原创 Kotlin学习之-6.3 内联函数

Kotlin学习之-6.3 内联函数使用高阶函数会带来一些运行时的代价:每个函数都是一个对象,并且会捕获一个必报,例如,那些在函数体中访问的变量。会带来内存分配(对函数对象和类对象)和虚拟调用引入的额外开销但是大多数情况下这种类型的开销可以使用内联lambda表达式来消除。下面展示的函数就是这种情况下很好的例子。例如,lock()函数可以很容易的做成内联的。考虑如下用例:lock(l) { foo(

2017-07-14 09:49:29 473

原创 Kotlin学习之-6.2 高阶函数和lambda表达式

Kotlin学习之-6.2 高阶函数和lambda表达式高阶函数一个高阶函数是一个接受函数作为参数,或者返回一个函数。一个高阶函数的例子是lock()函数,它接受一个锁对象和一个函数,获取锁,运行函数,然后释放锁。fun <T> lock(lock: Lock, body: () -> T): T { lock.lock() try { return body()

2017-07-13 09:45:47 1502

原创 # Kotlin学习之-6.1 函数

函数和lambda表达式Kotlin学习之-6.1 函数函数定义Kotlin中函数使用关键字fun定义的fun double(x: Int) : Int { return 2*x}函数的使用调用函数使用传统的方式:val result = double(2)调用成员函数使用点操作符// 创建Sample类的实例并调用foo函数Sample().foo()内建注解函数调用也可以使用内建注解

2017-07-12 09:43:50 774

原创 Kotlin学习之-5.13 代理属性

Kotlin学习之-5.13 代理属性有一些常见的属性,尽管我们可以每次需要他们的时候手动实现他们,但是最好还是可以实现一次然后随处可用,并把它放到库里。 这些例子包括:懒加载属性:属性值会在第一次访问的时候被计算可观察的属性:监听器会得到属性变化的通知存储在map中的属性,而不是单独给每个属性一个单独的变量为了覆盖这些情况,Kotlin支持代理属性class Example { v

2017-07-11 20:14:22 842

原创 Kotlin学习之-5.12 代理模式

Kotlin学习之-5.12 代理类代理代理模式已经被证明是一种很好的替代实现继承的方式,并且Kotlin原生支持代理模式还不需要任何多余代码。一个类Derived可以从一个接口Base继承并且代理所有他的共有方法到一个特定的对象上。interface Base { fun print()}class BaseImpl(val x: Int) : Base { override f

2017-07-06 09:22:41 562

原创 CSDN会用用我的账号搞事情?

一大早起来,发现自己博客莫名奇怪的多了几篇博客。不知道是什么鬼,谁半夜用我的账号连续分享5篇奇怪的文章。应该不会是盗号的,因为CSDN 上也没有什么可以变现的东西,没有盗号的意义。但是这几篇文章还有模有样的。 可是谁半夜2点还分享文章啊。 CSDN 你这是要搞什么?有图为证:

2017-07-06 09:11:51 2300 1

原创 Kotlin学习之-5.11 对象表达式和声明

Kotlin学习之-5.11 对象表达式和声明有时候我们需要创建一个类的实例,并且扩展或者修改其中的一两个方法,但不想显式地声明一个子类。Java中是使用内部类来处理这种情况,Kotlin则使用对象表达式和对象声明扩展了这种概念。对象表达式创建一个内部类的对象,并且继承某些类型,我们这么写:window.addMouseListener(object: MouseAdapter() { ov

2017-07-05 14:53:44 701

原创 Kotlin学习之-5.10 枚举类

Kotlin学习之-5.10 枚举类使用枚举类最基本的方法是实现类型安全的枚举:enum class Direction { NORTH, SOUTH, WEST, EAST}每一个枚举常量都是一个对象。枚举常量使用逗号分隔开初始化由于每个枚举都是一个枚举类的实例,所以他们可以被初始化:enum class Color(val rgb: Int) { RED(0xFF0000),

2017-07-05 10:00:52 555

原创 Kotlin学习之-5.9 内部类

Kotlin学习之-5.9 内部类类可以嵌套在其他类中:class Outer { private val bar: Int = 1 class Nested { fun foo() = 2 }}val demo = Outer.Nested().foo() // == 2内部类一个类可以被标记成inner来表示可以访问外部类的成员。内部类持有一个对外部类的

2017-07-05 09:19:47 473

原创 Kotlin学习之-5.8 泛型

Kotlin学习之-5.8 泛型和Java中一样,Kotlin 也可以使用类型参数:class Box<T>(t: T) { var value = t}一般情况下,要创建这样的类的实例,我们需要提供类型参数:val box: Box<Int> = Box<Int>(1)但是如果参数的类型可以推断出来,例如,从构造器的参数或者其他方法可以推断出类型,这种情况下可以神略类型参数:val bo

2017-07-04 15:45:52 828

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除