Kotlin

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

2016-11-07  本文已影响267人  八阿哥_
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了

基本上,基本的用法就这样了 本篇完

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

<h3>接下来要写的内容</h3>

<a href = "http://www.jianshu.com/p/38e0b7225238">第一篇文章的最后有目录</a>

上一篇下一篇

猜你喜欢

热点阅读