小狮子的Kotlin学习之路(四)

Kotlin基础语法

上一篇,我们使用Kotlin在控制台打印了“Hello World",接下里,我们就来到Kotlin的世界,一步一步的认识和探索Kotlin的奥秘。

我们再来回顾一下我们的"Hello World"程序。

在项目结构中,我们创建的HelloWorld文件。

我们看到Kotlin文件是以.kt为后缀的文件。在Kotlin中,所有的程序文件均以.kt结尾。接下来,我们看看我们的代码。

package com.lion.helloworld

fun main() {
   print("Hello World")
}

第一行package com.lion.helloworld称为包声明。Kotlin源文件不需要相匹配的目录和包,源文件可以放在任何文件目录。如果不指定包名,则默认为default包。

fun main(){}称作函数定义,函数使用fun关键字定义,基本格式为fun 函数名 参数 返回值 {}

main()方法中包含的print("Hello World")的部分称作代码块

我们来重新定义一个函数。

fun sum(a: Int, b: Int): Int {
   return a + b
}

函数为一个求和函数,sum是函数名称,括弧内的a, b表示参数,a: Int表示一个Int型的参数a。方法后面的:Int表示该函数有一个Int型的返回值。

在Kotlin中,我们这个求和函数还可以简写为

fun sum(a: Int, b: Int) = a + b

在上面的函数中,我们看到没有了返回值: Int,而且省略了{}。这样的函数称作表达式函数。Kotlin的自动类型推断,自动推断出函数的返回值为Int

我们再来回顾一下main()函数,在main()函数中,我们看到函数并非表达式函数,但是也没有看到返回值的定义,是为什么呢?那是因为我们的main()函数不需要返回值。

在Kotlin中,没有返回值的函数是这样定义的

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

如果返回值是Unit类型的,默认是可以省略的,这也就是为什么我们的main()方法,并没有返回值的原因。

在Kotlin中,还有一种函数,称作可变长参数函数。其定义如下:

fun vars(vararg vars: Int) {
}

可变长参数函数,参数定义和普通的函数不一样,是由vararg修饰的,参数类型代表了可变长参数的类型。

可变长参数实际上是一个数组参数,数组后面我们会涉及到,现在先不用关心它。

另外, Kotlin中有个特殊的函数匿名函数,其定义也被称作lambda表达式

val sum: (Int, Int) -> Int = {a, b -> a + b}

那分别表示什么含义呢?

val是常量定义的修饰符, sum是常量名称,(Int, Int)表示该匿名函数的参数定义,有两个参数,均为Int类型。-> Int表示匿名函数的返回值为Int{a, b -> a + b}为匿名函数的参数名称和代码块,表示匿名函数的两个参数分别为a和b, ->后面的a + b为求和代码块。

那我们要怎么使用匿名函数呢?

fun main(): Unit {
   print(sum(1, 2))
}
val sum: (Int, Int) -> Int = {a, b -> a + b}

和正常的函数一样,我们使用常量名称sum(1, 2)来调用它,1 和 2分别是两个Int的入参,sum的值,就是整个匿名函数的返回值,我们来执行一下。

我们看到执行结果是3,也就是将入参1和2进行了求和。

学习匿名函数的时候,有提到常量(即不可变变量),在Kotlin中,有不可变变量(常量)val及可变变量var两种。

可变变量由var关键字修饰,其定义为:

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

var age: Int = 10

不可变变量由val关键字修饰,其定义为:

val <变量标识符> :<类型> = <初始化值>

val name: String = "Lion"

var变量和val变量的区别在于,var变量是可以重复赋值的,而val变量仅可以赋值一次。

val变量二次赋值,编译器将会报错,无法编译成功。

编译器提示,val 无法重新赋值。如果运行代码,也会因为编译失败而无法运行。

var变量,则可以重复赋值。

fun main() {
   var age: Int = 10
   age = 20
   print(age)
}

运行结果:

当我们定义的变量或函数比较复杂时,为了更好地让别人理解我们所写的代码的意图,就必须给代码添加相应的注释,用以说明。

在Kotlin中,注释支持单行或多行注释。

单行注释:

// 单行注释使用双斜线开始添加注释内容

多行注释:

/* 多行注释由/和*号开始
  并以*和/结束。*/

当然,函数中的注释也支持Java标准的注释方式:

比如我们前面写的求和方法,我们给它增加注释。

/**
* 求和方法。
*
* @param a 第一个求和参数
* @param b 第二个求和参数
* @return 求和结果
*/
fun sum(a: Int, b: Int) = a + b

Kotlin的基础语法就学到这儿,有些语法在后续的学习中会逐渐涉及到。


微信扫码关注,惊喜多多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值