kotlin 记录(已弃坑)

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 ! 

   

  

 

posted @ 2017-06-27 10:42  atliwen  阅读(601)  评论(0编辑  收藏  举报