美文网首页
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