手记

Kotlin 初体验(1)---函数、变量、回调、基本语法

  • 变量

    var name = "张三"                          //等价于  String name = "张三";
    var age  = 0                              //等价于  int age = 0;
    var sex : String ?= null                  //等价于   String sex;
    //val 相当于 final var 不多啰嗦

    look上面的代码,kotlin里定义类型都是 var 类型的,然并卵都是骗人的.....目的就是少点字符. 根据 等号 后面自动推断出类型, 也就是说上面代码写 name = 0 编译不通过....
    想象一下,有个class,名字是 AAABBBCCCDDD.class 我们通过构造new一个对象出来 var abcd = new AAABBBCCCDDD() 确实是少些了一点代码......蚊子腿,不好吃

  • 空安全
    //简单讲  变量分为可空和不可空
    var name = ""
    var name_  : String ? = null
    name = null //编译错误
    name_ = null //编译通过
    //具体用一下这2个变量
    name.toString()
    name_?.toString()  //可以为空的变量多了一个 ? 当代码执行这一句的时候如果name_ == null 则不执行
    //拓展
    if(name_?.isEmpty()){
      //编译不通过  我们试着读一下这个判断  如果(name_是空字符串)进入判断 但是name_为null不执行.isEmpty()啊  咋办
    }
    //改
    if(name_ != nul l&& name_.isEmpty()){
      //看到区别了么? name_.  后面没问号啊 因为前面判断它不为null了 还是挺智能...
      //下面来个简写  等价于这个判断
    }
    //简写
    if(name_?.isEmpty() ?: false){
      //  ?: 翻译.前面如果是个空 则 后面表达式 有点像3元表达式的感觉...不熟悉...多写写就熟悉了
    }
  • 函数、方法

    fun method():String{
      return "你好kotlin"
    }
    //简单点说  fun定义方法关键字  方法名(参数) : 返回值 { 函数体  没有返回值就省略 : String}
    //来搞点事情
    var m : ()->Unit  = null //编译报错稍后填坑 先无视之
    //  Unit  相当于 void  没有返回值的返回值...好绕换个例子好了
    var name : String ? = null
    var m : ()->String = null //编译报错稍后填坑 先无视之
    // 语音助手: 变量 name 是个 String 类型 初始值 等于 null
    // 语音助手: 变量 m 是个 函数 类型 初始值 等于 null  并且这个函数无参数 有个String返回值
    m = {无参-> "返回值" } //给函数赋值
    m?.invoke() // 通过 函数变量 调方法
    //填坑 看name 和 m 的定义   name后面有个? 上面说过 变量分为可null和不可null 2种 可null的就要跟着个 ?
    //参考name 定义 ? 的位置(都是固定写法喽)
    var m : (()->String)? = null //小括号括起来加个? OK了
    基本上,基本的用法就这样了 本篇完

    啥?回调?说好的优雅回调呢?

    接下来要写的内容

  • 用kotlin来开发android
11人推荐
随时随地看视频
慕课网APP

热门评论

讲得不错。对于初学者很有帮助啊。

查看全部评论