kotlin

有些是转载内容

使用nullable值以及空值检测

    引用或函数返回值如果可能为null值,则必须显式标记nullable。 (在类型后面跟一个问号表示这个对象可能为空,跟两个感叹号表示这个类型一定不为空)

fun main(args: Array<String>) {
if (args.size() < 2) {
print("Two integers expected")
return
} val x = parseInt(args[0])
val y = parseInt(args[1]) //必须做判断,因为x或y有可能为空
if (x != null && y != null) {
// x 和 y 在已经检测不为null时,系统会自动将其转换为非空类型
check print(x * y)
}
} /**
* 如果str不能转为Int类型,则返回null
*/
fun parseInt(str: String): Int? {
// (代码略)
}

in关键字的使用

  如果一个数字是在某一个区间内,可以使用in关键字

//打印y次OK
if (x in 1..y-1)
print("OK") //如果x不存在于array中,则输出Out
if (x !in 0..array.lastIndex)
print("Out") //打印1到5
for (x in 1..5)
print(x) //遍历集合(类似于Java中的for(String name : names))
for (name in names)
println(name) //如果names集合中包含text对象则打印yes
if (text in names)
print("yes")

when表达式

  (类似于Java中的switch)

fun cases(obj: Any) {
when (obj) {
1 -> print("第一项")
"hello" -> print("这个是字符串hello")
is Long -> print("这是一个Long类型数据")
!is String -> print("这不是String类型的数据")
else -> print("else类似于Java中的default")
}
}

上诉内容转载至 https://blog.kymjs.com/code/2015/08/02/01/?utm_source=tuicool&utm_medium=referral

来聊聊  kotlin 

   

  怎么说呢?先说好的。

  优点太多了,各种语法糖什么什么什么什么的,哔哩哔哩一大堆。

  我最喜欢的 还是  var  和 val ,还有就是 类似 C#的匿名类。

  最主要的是  后面有人! JetBrains公司主导,最近谷歌也在推 kotlin 

  

  缺点也比较明显,我觉得这个锅应该给 java 对javabean 的 定义太重了。 集合Spring boot 都有会有挺多问题的,更别说其他的框架了。

  语法糖带来的必然问题就是  可读性。  java 虽然是啰嗦,但是你不能否定 可读性确实非常高。

  还有就是 给我的感觉是  “非常迫切的想和java 这个语言区分开“”。 然后就会 避开 和 抛弃  一些 java 语言本身的一些优势,而没去兼容。或许有什么更深的意思吧,反正给我的感觉就是这样的。

  国内环境还是不给力。使用人数太少了。

  在我的定义中 kotlin 应该是在 java 语言太过保守,过于啰嗦 和 升级不给力等问题上,对 现有JAVA 语言进行升级的语言,而不是一个全新的语言。

最后说一句话,如果主流框架兼容无误一点事没有。我还是会果断转 kotlin

   

  

kotlin 记录(已弃坑)的更多相关文章

  1. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

  2. jzy3D从入门到弃坑_4尝试使用jzy3D1.0画图失败

    jzy3D从入门到弃坑_4 尝试使用jzy3D1.0画图失败 觉得有用的话,欢迎一起讨论相互学习~Follow Me 记录一下使用jzy3D1.0失败 究其原因在于 本人才疏学浅,对于JAVA ope ...

  3. Docker之Docker Machine已弃用

    作为刚开始学习docker的新手,从网上查询文档无疑是最快的学习捷径,但是这次在docker翻车了,困扰了整整三天,特记录一下. 一般我们使用docker for windows安装,一路往下点直至安 ...

  4. vSphere6提示已弃用VMFS卷的解决方法

    Deprecated VMFS volume(s) found on the host. Please consider upgrading volume(s) to the latest versi ...

  5. 写个 Hello world - 前端从入坑到弃坑系列教程(1)

    这是一个系列教程<前端从入坑到弃坑>的第一篇. HTML 是什么 说白了,HTML 就是网页的内容.比如你现在正在阅读的这个网页的内容,就是 HTML.如果你还不明白,请继续往下阅读. 写 ...

  6. C#标记 [已弃用] 的方法

    [Obsolete]//标记该方法已弃用 /// <summary> /// 你应该调用本类的 OpenMessageBox 方法 /// </summary> public ...

  7. (暂时弃坑)ACM数论之旅15---置换群与Polya定理(我把标题看成poi了,poipoipoi(*≧▽≦)ツ)

    (挖坑...) ////////////////////////////////////////////////// 暂时弃坑 开学了,有空再写....

  8. C# Obsolete(已弃用方法属性)

    class Realization : Interface { /// <summary> /// 已弃用的方法,Obsolete第二个参数设置为true,调用此方法会产生警告并引起编译器 ...

  9. gulp-htmlone的BUG弃坑

    之前用项目用gulp-htmlone做最后的js和css内联打包出现各种问题 这次居然遇到打包后的css斜杠变反斜杠的问题 如下:/src/common/images/i_banner.jpg会被改成 ...

随机推荐

  1. React中ref的用法

    在React数据流中,父子组件唯一的通信方式是通过props属性:那么如果有些场景需要获取某一个真实的DOM元素来交互,这时候就要用到React的refs属性. 1.可以给DOM元素添加ref属性 c ...

  2. 如何缩减手游app安装包的大小?

    包体过大对手游的影响更是诟病已久,有具体数据证明,游戏包体越大,在游戏运营推广过程中游戏用户的转化率就越低:反之,游戏包体越小,游戏用户的下载转化率就越高(如下图),所有的手机app.游戏在大版本更新 ...

  3. CentOS yum 安装node.js

    第一步: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - 第二步: sudo yum -y i ...

  4. Php 创建XML

    Php 创建XML  Php 创建XML并保存,学习示比例如以下: <? php try{ //创建DOMDocument 对象 $dom = new DOMDocument("1.0 ...

  5. django 用户注册功能实现

    增加views的类 class RegisterView(View): def get(self, request): return render(request, 'register.html', ...

  6. Linux服务器上监控网络带宽命令

    本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带 ...

  7. Linux系统——Raid磁盘阵列

    Raid磁盘阵列 作用:解决磁盘速度.安全问题 Raid原理 Raid0 写入速度极快,有几块硬盘,写入速度就近似几倍,但是安全性极差,只要一块盘坏了,所有盘的数据全部坏掉,最少两块硬盘组合 性价比最 ...

  8. webpack打包静态资源和动态资源

    1.对于静态引用的资源: <img src = "static/modelname/imgname.png"> // 修改为下面的写法 <img src = &q ...

  9. 20145316《Java程序设计》第二周学习总结

    20145316<Java程序设计>第2周学习总结 教材学习内容总结 3.1.1 Java的类型 分为基本类型(Primitive type)和类类型(Class type) 基本类型: ...

  10. Linux查找含有某字符串的文本文件

    转自:http://www.cnblogs.com/wangkongming/p/4476933.html 如果你想在当前目录下 查找"hello,world!"字符串,可以这样 ...