好多年前为了锻炼英文数字的敏感度做了一个 app。最近想更新一波,发现需要备案了。还需要有软著才能上应用市场。
因此提供一个下载地址供大家下载吧:
点击这里 二维码

做一个有趣的人
好多年前为了锻炼英文数字的敏感度做了一个 app。最近想更新一波,发现需要备案了。还需要有软著才能上应用市场。
因此提供一个下载地址供大家下载吧:
点击这里 二维码
这是一个简单的不能再简单的问题,然而,就是这样简单的常见问题,往往会被忽视,从而给未来的某一天埋坑。
大多数编程语言都提供了built-in 截取字符串的方法。
比如 Python最为简单直观,比如从”Hello, World!” 中提取出 World 可以通过下标直接获取
text = "Hello, World!" substring = text[7:12] print(substring) #print World
在 JS 中,String 也提供
text = "Hello, World!" substring = text.substring(7,12) print(substring) //print 'World'
在 Android 中,Kotlin 和 Java 的 String 同样有类似的方法:
val text = "Hello, World!" val substring = text.substring(7,12) print(substring) //print 'World'
相信你也一定写过上面的代码,但是真的会如你的预期得到想要的结果吗?
kotlin 的拓展函数,为这个语言带来极大的可玩性。可以极大的减少现有类的大小, 比如 string这个类 在Android 的 java实现中 有三千多行
但是在 Kotlin 版本中的 String类只有50多行,不到一屏。是不是匪夷所思
Continue reading “Kotlin 拓展函数”在众多介绍软件架构的书籍中,特别是 OOP 语言为基准的话,你一定听说过一句话“组合优于继承” 【Favor composition over inheritance】
为什么这么说? 我们来看一个例子。继承非常好理解,我们需要创建一只鸡,一只鸭,我们很容易抽象出“鸟类”这个父类。如下:
Continue reading “聊聊Kotlin中的继承和组合”我们看一些源码发现,一些源码,在范型前面添加了一些关键字 in 或者 out,这又是什么呢?比如 kotlin内置的 Comparable.kt
再比如,Collections.MutableIterable 接口
为什么会有一些加in,有一些加out 呢?了解这个之前我们来看下
泛型(Generics)是一种允许类、接口和方法操作任意类型(类型参数)的特性。泛型提供了一种类型安全的方式来处理对象集合和其他数据结构,而无需在编译时指定具体的类型。
举一个栗子:
Continue reading “Kotlin 范型中的in 和out 是什么?”