zoukankan      html  css  js  c++  java
  • 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 ! 

       

      

  • 相关阅读:
    剑指Offer——斐波那契数列
    剑指Offer——旋转数组的最小数字
    剑指Offer——用两个栈实现队列
    剑指Offer——重建二叉树
    剑指Offer——从尾到头打印链表
    剑指Offer——替换空格
    Leetcode 153. Find Minimum in Rotated Sorted Array -- 二分查找的变种
    头条笔试后端开发
    渣浪电话面
    Leetcode 中Linked List Cycle 一类问题
  • 原文地址:https://www.cnblogs.com/atliwen/p/7083897.html
Copyright © 2011-2022 走看看