安卓学习笔记------Kotlin基础语法

函数定义

函数定义使用关键字fun,参数格式为:参数:类型

fun sum(a:Int,b:int):Int{//返回值
  return a+b
}

表达式作为函数体,返回类型自动推断

fun sum(a:Int,b:Int)=a+b
//public 方法则必须明确写出返回类型
public fun sum(a:Int,b:Int):Int=a+b

无返回值的函数

fun printSum(a:Int,b:Int):Unit{
  print(a+b)
}

//如果是返回 Unit类型,则可以省略(对于public方法也是这样):
public fun printSum(a: Int, b: Int) { 
    print(a + b)
}

可变长参数函数
函数的变长参数可以用vararg关键字进行标识:

fun vars(vararg:Int){
  for(vt in v){
      print(vt)
  }
}

lambda(匿名函数)

fun main(arg:Array){
   val sumLambda: (Int, Int) -> Int = {x,y -> x+y}
    println(sumLambda(1,2))  // 输出 3
}
定义常量与变量

可变变量定义:var 关键字

var <标识符> : <类型> = <初始化值>

不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

val <标识符> : <类型> = <初始化值>
字符串模板

$ 表示一个变量名或者变量值
$varName 表示变量值
${varName.fun()} 表示变量的方法返回值:

var a = 1
// 模板中的简单名称:
val s1 = "a is $a" 

a = 2
// 模板中的任意表达式:
val s2 = "${s1.replace("is", "was")}, but now is $a"
NULL检查机制
//类型后面加?表示可为空
var age:String?="111”
//抛出空指针异常
val ages=age!!.toInt()
//不做处理返回null
val ages1=age?.toInt()
//age为空返回-1
val ages2=age?.toInt()?:-1

当一个引用可能为null值时,对应的类型声明必须明确的标记为可为null。

你可能感兴趣的:(安卓学习笔记------Kotlin基础语法)