美文网首页Android开发Android开发经验谈Kotlin-Android-KotlinJS-Kotlin/Native
兄弟来开车 我们一起学Kotlin 之var和val俩兄弟

兄弟来开车 我们一起学Kotlin 之var和val俩兄弟

作者: no白菜 | 来源:发表于2018-06-12 15:56 被阅读17次

如何创建一个变量或常量

  • 变量创建之严谨的创建变量
var name:String="李明"

这句代码意思是 创建一个变量(var)名字叫name类型是String类型,她的值是“李明”,是不 是发现和自然语言的语法差不多,是不是也有一些疑问,我们来一个个去解决掉疑问。
var是什么?
二狗:var是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和 Java中声明变量的方式一样。相反还有一个声明常量的方式我们下面也会说。

  • 变量创建之偷懒模式写法
  var name="李明"

可以省略变量的类型,Kotlin会自动推导出当前变量的类型,秉着懒的模式,我一般能少写就少写,能不写就不写,毕竟懒是推动社会发展的第一生产力。

  • 变量创建之声明一个变量不想赋值
lateinit  var name:String

前面那个lateinit是什么玩意
二狗: lateinit意思是延迟加载,注意lateinit只能修饰非Kotlin基本类型,因为Kotlin会使用null来对每一个用lateinit修饰的属性做初始化,而基础类型是没有null类型,所以无法使用lateinit。

  • 常量创建
  val name="李明"

和变量创建差不多只不多是用val修饰的,val是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。
常量和变量基本就是这个样子,说实话难么,一点都不难,只是有刚开始有些不习惯,既然不习惯,那么来点语法糖来舔舔

语法糖之print和字符串的拼接

    lateinit var name:String
    @Test
    fun stringSplice(){
        name="李明"
        val age=18
        println("我的名字叫$name 我今年$age 岁了")
    }

System.out.print 不存在的一个print搞定。字符串拼接用“+”号不存在的“$”符号搞定,
其实也可以点开print的源码看看会发现

@kotlin.internal.InlineOnly
public inline fun println(message: Any?) {
    System.out.println(message)
}

没错里面还是 System.out.println 因为Kotlin语言的设计是为了提高开发效率,重复的代码我们就算不得不写也要少写

循环

  • Kotlin之for循环
    二狗上代码
 for (i:Int in 1..10){
          println(i)
      }

是不是发现有些不一样,是不是和foreach很像,是不是想知道你的i++去哪了,他咋知道我是想++还是想--的,我们下回分解,对的没错下回分解。

相关文章

网友评论

    本文标题:兄弟来开车 我们一起学Kotlin 之var和val俩兄弟

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