美文网首页
Kotlin 语法 (笔记 一)

Kotlin 语法 (笔记 一)

作者: _____彬 | 来源:发表于2020-12-22 10:21 被阅读0次

Kotlin 语法 (笔记 一)

1.基本使用

  • 变量

    • 声明:var 变量, val 常量 只能初始化赋值一次

    • var a = 1 //类型可以不指定
      var a: Int; //初始化未赋值的时候 必须要指定类型
      a = 1;
      
  • 函数

    1.  //a b 参数 Int 返回类型
       fun test(a: Int,b: Int :String): Int{ 
         return a+b;
       }
      
    2. 返回值类型:

      • 明确类型(如果 函数声明为 public 则必须添加返回类型)

      • Unit(无返回值类型,无返回值 默认可以不加) 类似java 中的void关键字

    3. 函数体为表达式

      • �自动判断返回值类型

        fun test(a: Int ,b :Int) = a + b
        
    4. 可变的长参数函数 使用 vararg 关键字

      • fun test(varage v :Int)
        
    5. lambda

      var lambda:(Int ,Int) -> Int = (x,y -> x+y)
      
      var lambda = {x:Int,y:Int -> x+y}
      
    6. null检查机制

       fun nullTest(arg: String?): Int? {
              //类型后面 ? 设置String 可以为空
              var arg1: String? =  null;
              if(arg !=null){
                  Log.d(tag,arg);
              }
              if(arg1 == null){
                  Log.d(tag,"arg1 null");
              }
              var arg2  = null;
              //变量后面!! 会抛异常
              var arg3 = arg2!!.toInt()
              Log.d(tag,arg3.toString());
      
              var arg4  = null;
              //变量后面加?会返回null
              var arg5 = arg4?.toInt();
              Log.d(tag,arg5.toString());
      
              var arg6  = null;
              //返回值后面加 ?: 会返回冒号后面的值
              var arg7 = arg6?.toInt()?: -1
              Log.d(tag,arg7.toString());
              
              //返回可能为空时 返回参数后面也要加?
              return null;
      
          }
      
    7. 类型转换

      • is 关键字, 类似 java instanceof

        区别在 is 会自动做类型转换

相关文章

网友评论

      本文标题:Kotlin 语法 (笔记 一)

      本文链接:https://www.haomeiwen.com/subject/qgddnktx.html