class Test {
val languagename = "Kotlin"
val upperCaseName = languagename.uppercase()
//指定 String? 类型后,可以为 languageName 赋予 String 值或 null。
val languageName: String? = null
//条件表达式
//每个条件分支都隐式地返回其最后一行的表达式的结果,因此无需使用 return 关键字
var count = 0
val answerString: String = if (count == 42) {
"I have the answer."
} else if (count > 36) {
"The answer is close."
} else {
"the answer eludes me."
}
//System.out.println(answerString)
//随着条件语句的复杂性不断增加,您可以考虑将 if-else 表达式替换为 when 表达式,如以下示例所示:
//when 表达式中每个分支都由一个条件、一个箭头 (->) 和一个结果来表示。如果箭头左侧的条件求值为 true,则会返回右侧的表达式结果
val answerString2 = when {
count == 42 -> "I have the answer."
count > 36 -> "The answer is close."
else -> "The answer eludes me"
}
//函数,用 fun 关键字,后跟函数名称。接下来,定义函数接受的输入类型(如果有),并声明它返回的输出类型。函数的主体用于定义在调用函数时调用的表达式。
//无参数例子
fun generateAnswerString(): String {
val answerString = if (count == 42) {
"I have the answer."
} else {
"The answer eludes me"
}
return answerString;
}
//带参数例子
fun generateAnswerString(countThreshold: Int): String {
val answerString = if (count == countThreshold) {
"I have the answer."
} else {
"The answer eludes me"
}
return answerString;
}
//简化函数声明: 跳过局部变量的声明
fun generateAnswerString2(countThreshold: Int): String {
return if (count > countThreshold) {
"I have the answer."
} else {
"The answer eludes me"
}
}
//简化函数声明: 跳过局部变量的声明,并且将return关键字替换为 赋值运算符
fun generateAnswerString3(countThreshold: Int): String = if (count > countThreshold) {
"I have the answer."
} else {
"The answer eludes me"
}
//匿名函数
val stringLengthFunc: (String) -> Int = { input -> input.length }
val stringLength: Int = stringLengthFunc("Android")
//stringLengthFunc 包含对一个匿名函数的引用,该函数将 String 当作输入,
// 并将输入 String 的长度作为 Int 类型的输出返回。
//因此,该函数的类型表示为 (String) -> Int
//高阶函数
//一个函数可以将另一个函数当作参数。将其他函数用作参数的函数称为“高阶函数”
//stringMapper() 函数接受一个 String 以及一个函数,该函数根据您传递给它的 String 来推导 Int 值。
fun stringMapper(str: String, mapper:(String) -> Int): Int{
return mapper(str)
}
//如何调用
//Not work TODO
// stringMapper("Android",{ input -> input.length })
// 如果匿名函数是在某个函数上定义的最后一个参数,则您可以在用于调用该函数的圆括号之外传递它,如以下示例所示
// stringMapper ("Android"){input -> input.length}
//类
class Car
}
以上代码块是第一次学习kotlin时根据官方文档快速上手部分,边学习写的,做一个记录