Kotlin之函数和变量

引言

自从Kotlin出来后,还没有好好地去学习它,而它带来的优势也是我所向往的。如今已经有很多大公司已经开始使用它进行项目开发了,作为一名Android开发工程师,接下来肯定是要学习一番,毕竟多掌握一门语言对本身而言也是一种优势。那么接下来,进入我的Kotlin学习之旅。

从一个经典的例子开始,打印一个Hello World,代码如下:

fun main(args:Array<String>){
    println("Hello World")  
}

从上面的例子可以明显的看出KotlinJava在声明函数上的不同:

  • kotlin使用关键词fun来声明一个函数
  • 可以省略每行代码后的分号
  • 参数的类型写在名称的后面
  • 使用println(...)代替了Java中的System.out.println(...)

函数

声明一个具有返回值的函数,求最大值

fun max(a:Int,b:Int):Int {
    return if(a > b) a else b  //函数体
}

当方法内部为表达式时,可用表达式作为完整的函数体,并去掉花括号和return语句

fun max(a:Int,b:Int):Int = if(a > b) a else b //表达式函数体

还可以进一步优化max函数,省掉返回类型(只有表达式函数体的返回值类型才可以省略)

fun max(a:Int,b:Int) = if(a > b) a else b

变量

Java中声明变量的时候以类型开始,而Kotlin刚好相反,以关键字开始,然后是变量名称,最后加上类型(不加也可以)

val question = "The Ultimate Question"
val a = 1 //省略了类型
val b : Int = 2 //不省略类型
//如果使用浮点类型,则变量默认是 Double 类型
val number = 7.5e6 // >> 7.5 * 10^6

字符串模板

使用$符号加变量名

fun testStrTemplate(){
    val a = 10
    val  b = 15
    val  name = if (a > b) a else b
    println("Hello,$name")
}

更复杂的表达式,需要用花括号括起来

fun testStrTemplate2(){
    val array = arrayOf("a","b","c","d","e")
    println("测试: ${array[0]}")
}

在双引号中嵌套双引号

fun testStrTemplate3(){
    val array = arrayOf(1,2)
    println("测试: ${if (array[0] > 10) array[0] else "someone"}!")
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容