fun main() {
println("hello world, Hello Kotlin ~")
val result = sum(12, 5)
println(result) // 17
val result2 = sum2(12, 5)
println(result2) // 17
val result3 = sum2(12, 5)
println(result3) // 17
varsFunc("aaaa", "bbbb", "cccc", "dddd", "郄朋亮")
println("******------******------******------******------******------******------")
// 定义常量和变量 val同java的final
val firstname = "adley"
val lastname = "tales"
// 字符串模板
val str = "My name is $firstname $lastname !"
println(str)
// NULL检查机制
// 空安全 字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null 或者 ?: 做空判断处理
// 类型后面加?表示可为空
var name: String? = "adley"
name = null
println(name)
// 抛出空指针异常
// var age = name!!.toInt()
// 不做处理返回 null
val age2 =name?.toInt()
println(age2) // null
val ages3 = age2?.toInt() ?: -1 // 如果是空,则为-1
println(ages3) // -1
println(name is String) // false
println(str is String) // true
// 区间
for (i in 1..5) {
println(i)
}
for (i in 1..5 step 2) {
println(i)
}
}
// 基本用法
// 包声明: package com.adleytales.demo
// 函数定义
fun sum(x: Int, y: Int): Int {
return x + y
}
// 函数
fun sum2(x: Int, y: Int): Int = x + y
// 函数 lambda
val sum3: (Int, Int) -> Int = { x, y -> x + y }
// 可变长参数 vararg
fun varsFunc(vararg str: String) {
for (s in str) {
println(s)
}
}