
kotlin
文章平均质量分 59
gwt0425
这个作者很懒,什么都没留下…
展开
-
Go和Kotlin/Native协程对比
说明系统说明Kotlin版本:1.4.10Golang版本:1.12.9OS:WindowsCPU:4核8线程 3.6GHz内存:32G其他说明由于Kotlin Native的协程默认只支持单线程,因此限制Goroutines也只使用单核测试1为了公平Kotlin不在jvm上跑,Kotlin和Go均编译为exe可执行文件测试2会对比Kotlin在jvm多线程和不限制Goroutines的对比,这是最常用的开发场景但由于主力服务端还是Linux,后期也许会增加在Linux系统上的对原创 2020-11-11 16:23:20 · 3375 阅读 · 2 评论 -
Kotlin委托
类委托interface Base{ fun print()}class BaseImpl(val x: Int) : Base{ override fun print() { print(x) }}//通过by来实现委class Derived(b: Base) : Base by bfun main(args: Array<String>){原创 2017-10-26 14:25:31 · 207 阅读 · 0 评论 -
Kotlin 协程(1)
第一个协程程序fun main(args: Array<String>) { launch { // 启动新的协程 delay(1000L) // 非堵塞延迟一秒 println("World!") // 1秒后答应 } println("Hello,") // 打印Hello, Thread.sleep(2000L) // 阻塞主线程原创 2017-10-21 21:26:24 · 414 阅读 · 0 评论 -
Kotlin协程(2)
传统异步的缺陷线程是系统资源,不能很好支持高并发。回调会产生回调地域。Rx方式,其实很好,但是要记忆很多很多操作符,记不下那么多。然后Kotlin协程来了fun postItem(item: Item) { launch (CommonPool) { //显性协程上下文 val taken = preparePost() val post - submit原创 2017-10-30 12:18:03 · 338 阅读 · 0 评论 -
Kotlin学习(7)高阶函数和函数类型
啥是高阶函数高阶函数是一个函数,他的参数是另一个函数。函数作为返回类型val sum: (Int, Int) -> Int = { x, y -> x + y }val action: () -> Unit = { println(42) }val canReturnNull: (Int, Int) -> Int? = { null }val funOrNull: ((Int, Int) ->原创 2017-09-29 12:09:58 · 362 阅读 · 0 评论 -
Kotlin学习(6)操作符重载
data class Point(val x: Int, val y: Int){ operator fun plus(other: Point): Point{ return Point(x + other.x, y + other.y) }} Expression Function name a * b a.times(b) a / b a原创 2017-09-29 11:10:02 · 247 阅读 · 0 评论 -
Kotlin学习(5)空类型安全
啥是空指针异常我相信你一定遇到过,比如在写链表算法时,写x.next.next时,可能会遇到null对象没有next这个字段。这是因为x.next是个null的话,那么null.next自然就会抛出异常。在Andriod开发中,也很多会出现这个异常,但我印象中,Android空指针异常的产生大多数时候不是自己写的。(可能吧)不能为null//1.作为参数fun strLen(s: String)原创 2017-09-28 21:00:47 · 238 阅读 · 0 评论 -
Kotlin学习(4)Lambda
记住Lambda的本质,还是一个对象。和JS,Python等不同的是,Kotlin里的Lambda不是方法,而是一个简化了的对象。此外,Kotlin里面的没有匿名函数这一说,函数也不是传统的对象。看看Kotlin的Lambda//Javabutton.setOnClickListener(v -> {//...})//Kotlinbutton.setOnClickListen{//...}一个L原创 2017-09-26 21:00:03 · 901 阅读 · 0 评论 -
Kotlin学习(3)类,对象和接口
实现接口interface Clickable{ //类似Java8默认方法 fun showOff() = println("I was clickable") //要自己实现 fun click()}interface Focusable{ //可以直接使用 fun setFocus(b: Boolean) =原创 2017-09-25 22:50:30 · 223 阅读 · 0 评论 -
Kotlin学习(2)函数
函数的定义和使用//泛型函数,和默认参数fun <T> joinToString( collection: Collection<T>, separator: String = ", ", prefix: String = "[", postfix: String = "]"): String{ val result = S原创 2017-09-25 17:41:47 · 202 阅读 · 0 评论 -
Kotlin学习(1)概述
变量和常量//String类型,自动判断类型(不可变变量Value)val laugh = "lalalalala"//浮点类型,默认Doubleval PI = 3.1415//Float类型val PI_FLOAT = 3.1415F//一旦赋值后不能改变,但是可以条件赋值val msg: Int = min(2,1)//可变类型(Variable)var status = 0原创 2017-09-25 13:33:37 · 257 阅读 · 0 评论