Kotlin学习笔记(1)

变量

变量声明

kotlin使用valvar声明变量。

val用于声明一个不可变变量,它指向的对象本身可以更改而它指向的对象是谁不能更改,这表明之后不能再给它重新赋值。

var用于声明一个可变变量,它指向的对象本身与它指向的对象是谁都可以被修改,这表明之后可以给它重新赋值。

声明的变量类型可以被自动推断,也可以手动指定,例如:

val x = 5 // 自动推断类型为Int
val y : Byte = 5 // 手动指定类型为Byte

数字

就整数而言,kotlin有这些整数类型:

变量类型 大小/bit 最小 最大
Byte 8 -128 127
Short 16 -32768 32767
Int 32 -2^{31} 2^{31} - 1
Long 64 -2^{63} 2^{63} - 1

定义变量时,可以在数字后添加后缀L指定这个变量为Long,如果数字足够大,也会定义为Long

val a : Long = 100
val a = 100L

kotlin还提供floatdouble两种浮点数。float为32比特,而double为64比特。

在定义浮点数时,默认定义为double。可以在数字后添加后缀f指定其为浮点数。

一个较小的数字类型在赋值时不能隐式转换为较大的数字类型。例如,下面的代码是非法的:

val a = 100
val b : Long = a // a不会被隐式转化为Long

需要采用显式类型转换。显式类型转换为数字的toXXX()方法。

val a = 100
val b : Long = a.toLong()

在进行运算的时候,较小的数字类型会被隐式的转化为较大的数字类型。

函数

函数声明

一个函数由如下的结构声明:

fun functionname(arg1: Type, arg2: Type, ..., argn: Type): ReturnType {
    // some codes
}

返回值类型不填默认为Unit,表示无意义返回值。

程序入口

一个kotlin程序由main()函数开始执行:

fun main() {
    // some codes
}

不定长参数

vararg关键字用于定义不定长的参数。

fun myAverage(vararg numbers: Double): Double {
    var sum = 0.0
    for (number in numbers) {
        sum += number
    }
    return sum / numbers.size
}

匿名函数

匿名函数由下定义:

val func: (Type, Type) -> (ReturnType) = {arg1, arg2 -> ReturnValue}

高阶函数

函数的参数或返回值可以是一个函数。

函数作为参数

一个函数作为参数被传入时,需要在其前面加::表示传入的函数做参数。

val a = listOf(1, 2, 3)
a.forEach(::println) // 这会换行输出1 2 3

函数作为返回值

一个函数作为返回值时,这个函数应该这样定义:

fun fun1(fun1's args): (fun2's args) -> fun2的返回值 {
    // some codes
}

例如:

fun returnFun(): (Int, Int) -> Int {
    return {1, j -> (i + j)} // 这是一个匿名函数
}

闭包函数

闭包(closure)就是能够读取其他函数内部变量的函数。

fun counter(): () -> Int {
    var count = 0
    return {
        count++
        count
    }
}

val c = counter()
println(c()) // 1
println(c()) // 2
println(c()) // 3
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇