美文网首页
kotlin 语法基础

kotlin 语法基础

作者: kot_flu | 来源:发表于2019-05-17 15:07 被阅读0次

语法解析

class Test { // 声明类 Test,默认public final
      var str1: String? = null // 声明一个可为空、初始值为 null 的 String 类型属性
      var str2: String = null!! // 声明一个没有空安全、初始值为 null 的 String 类型属性
      lateinit var str3: String // 声明一个延迟初始化、不能为空的 String 类型属性
      var str4: String = "str" // 声明一个不能为空、初始值为 null 的 String 类型属性
      var str5 = "str" // 声明一个不能为空、初始值为 “str” 的 String 类型属性
      val int1: Int = 1 // 声明一个不能为空、初始值为 1 的 Int 类型属性

      fun main1(str: String) : Unit {} // 声明一个参数为 String 类型、无返回值的方法
      fun main2(str: String) {} // 声明一个参数为 String 类型、无返回值的方法
      fun main3(str: String) : String {  // 声明一个参数为 String 类型、返回类型为 String
          return str
      }
  }

Kotlin 中同样使用关键字 class 声明类,但是变量及方法的声明大有不同。
使用关键字 var 声明可变变量,相当于 Java 中的普通变量,使用关键字 val 声明不可变变量,相当于 Java 中 final 修饰的常量。声明变量时,关键字后紧接着的是变量名,冒号后面是变量类型。
使用关键字 fun 声明方法(据说取自于 Kotlin 编程有很多乐趣!),括号内参数声明和变量一致,变量名在前,类型在后。在方法声明的最后加上冒号后面才是返回类型,无返回值时为 Unit 类型,可省略。
Kotlin 是空安全的语言。

空安全

什么是空安全?从上面的变量声明中可以看出来,Kotlin 中的类型默认情况下是不允许为空的

var str: String = null // 错误的声明

如果你这样声明一个变量,编译器就会告诉你 str 是不为空的类型,不能赋值为 null,所以,你需要在类型后面加上 ? 来标识这个变量可以为空才能赋值为 null。

var str: String? = null // 正确的声明

而 Kotlin 中的 !! 则被称为非空断言,可以放在任何变量后,将其转换成非空类型,即你告诉编译器这个 变量觉不可能为空,如果为空了,你也做好了抛出异常的准备。非空断言修饰的变量为 null 时,会抛出空指针异常。

安全调用运算符: ?.

var str: String? 
  str?.toString()    ----->  if(null != str) str.toString()

Elvis 运算符: ?:

var str: String
  str?: ""              -----> if(null == str) return "" else return str

相关文章

  • 快速上⼿ Kotlin

    快速上⼿ Kotlin 基础语法 函数基础语法 与 Java 代码互调 Java 与 Kotlin 交互的语法变化...

  • kotlin进阶—函数、泛型、高级特性

    以下是我的kotlin系列文章kotlin基础知识—基本语法(一)kotlin基础知识—基本语法(二) 前言 我个...

  • kotlin学习笔记

    kotlin基础知识 基础语法 kotlin中的特殊语法 object创建匿名内部类的写法kotlin中声明单例的...

  • kotlin入门潜修系列教程

    kotlin入门潜修之开门篇—kotlin是什么? kotlin入门潜修之基础篇—基础语法kotlin入门潜修之基...

  • Kotlin基础语法<二>

    学习需要一步步进行,前面已学习过了部分kotlin基础语法。基础语法的学习与总结会让我对...

  • Kotlin 循环和条件控制(五)

    Kotlin 循环和条件控制(五) 上一篇我们讲了Kotlin的基础语法Kotlin 实战语法(四) ,现在我们要...

  • Kotlin 进阶之路 目录

    Kotlin 进阶之路 目录 Kotlin 进阶之路1 基础语法Kotlin 进阶之路2 集合类型Kotlin 进...

  • Kotlin 基础语法使用

    Kotlin 基础语法 一、基础语法 .kt.java 一个public的class toplevel.kt,变量...

  • Kotlin 进阶之路1 基础语法

    Kotlin 进阶之路 目录 1.Kotlin 基础语法 1.1第一程序 1.2常量 1.3变量 2.Kotlin...

  • Kotlin 基础学习笔记

    Kotlin 基础教程 Kotlin 文件以 .kt 为后缀 一、基本语法 二、数据类型 Kotlin 的基本数值...

网友评论

      本文标题:kotlin 语法基础

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