kotlin函数,变量,常量,字符串模板
kotlin函数,变量,常量,字符串模板
1.函数
1.定义
函数定义使用关键字 fun,参数格式为:参数 : 类型
2.表达式作为函数体,返回类型自动判断
fun sum(a:Int,b:Int)=a+b
public方法必须明确写出返回类型
public fun sum(a:Int,b:Int):Int=a+b
3.无返回值的函数:使用关键字Unit,也可以省略
//可以省略Unit
fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
//可以省略Unit
public fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
4.用vararg关键字标识可变参数的函数
//在函数体内部,以数组的形式使用这个可变参数的形参变量
fun varargName(vararg a :Int ):Int{
var result=0
for(it in a){
result+=it
}
return result
}
调用:varargName(1,2,3,4,5)
//可变参数可以不是参数列表中的最后一个
fun varargName(vararg a :Int,b:Int):Int{
var result=0
for(it in a) {
result += it
}
return result*b
}
//这里必须是b=10,要和函数中的参数名称一致
调用:varargName(1,2,3,4,5,b=10)
//用Any关键字接收多种类型参数的可变参数
fun anyName(vararg args:Any){
for(it in args){
println(it)
}
}
//调用
anyName(1,"kotlin",true,1==3)
5.匿名函数(lambda表达式)
val lambda1 = { left: Int, right: Int -> left + right }
//调用:lambda1(2,6)
val lambda2 :(Int,Int)->Int= { x,y->x*y }
//调用:lambda2(2,8)
2.var与val关键字 定义变量与常量
1.var定义变量
var <标识符> : <类型> = <初始化值>
//变量可以没有初始化值,但是在引用前必须初始化
var a:Int=4
//系统自动推断变量类型为Int
var b=5
//如果不在声明时初始化则必须提供变量类型,只能在函数内部使用。在函数外部声明变量时必须要赋值。
var c:Int
//明确赋值 c=1
2.val定义常量
val <标识符> : <类型> = <初始化值>
//常量可以没有初始化值,但是在引用前必须初始化
val a:Int=4
//系统自动推断变量类型为Int
val b=5
//如果不在声明时初始化则必须提供变量类型,只能在函数内部使用。在函数外部声明变量时必须要赋值。
val c:Int
//明确赋值 c=1
3.$字符串模板
val i = 10
// 输出“i = 10”
println("i = $i")
val sa = "abc"
// 输出“abc.length is 3”
println("$sa.length is ${sa.length}")
//原始字符串与转义字符串内部都支持模板,在原始字符串中表示字面值:$,使用以下的方法:
val price = """${'$'}9.99"""
//输出:$9.99
println(price)
4.不再使用findViewById
android kotlin 中不用使用findViewById 实例化控件 直接 使用控件的id名称即可
5.public static函数
companion object {
fun newInstance(type: Int): NewsFragment {
var newsFragment = NewsFragment()
var args = Bundle()
args.putInt("type", type)
newsFragment.setArguments(args)
return newsFragment
}
}