科技资讯
2017年6月,最新一期的TIOBE编程语言排行已发布,对比去年同期,排名前5名的语言的排序没有发生变化,还是Java,C,C++,Python,C#。但值得注意的是,Kotlin排名首次进入前50名(43)。
在 Kotlin 中,所有东西都是对象,在这个意义上讲所以我们可以在任何变量上调用成员函数和属性。有些类型是内置的,因为他们的实现是优化过的。但是用户看起来他们就像普通的类。本节我们会描述大多数这些类型:数字、字符、布尔和数组。
Number类型
和Java一样,Kotlin提供了一些内置类型作为它的数值类型。
Type | Bit width |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
小知识
数值型数据是表示数量可以进行数值运算的数据类型。
Characters类型
Characters代表的就是Char类型,不能直接的当做数字进行运算。做运算之前,我们需要将其转换为数值类型。
fun check(c: Char) {
if (c == 1) { // ERROR: incompatible types
// ...
}
}
fun operate(c: Char) {
c.toInt() - '0'.toInt() // SUCCESS: Explicit conversions to numbers
}
特殊的转义字符使用反斜杠:\t, \b, \n, \r, \’, \”, \ 和 $。
Boolean类型
字符是由单引号包裹的:'1',特殊的字符通过反斜杠\转义,下面的字符序列支持转义:\t,\b,\n,\r,',",\和$。编码任何其他字符,使用 Unicode 转义语法:\uFF00。
Array类型
数组在 Kotlin 中由 Array 类表示,有 get 和 set 方法,和 size 属性,以及一些常用的函数。
class Array<T> private constructor() {
val size: Int
operator fun get(index: Int): T
operator fun set(index: Int, value: T): Unit
operator fun iterator(): Iterator<T>
// ...
}
如何创建数组?
- 使用arrayOf(1, 2, 3) 创建了一个[1, 2, 3] 这样的数组。
- 使用库函数 arrayOfNulls() 创建一个指定大小的空Array。
- 另一种方式就是使用工厂函数,接受一个数组大小参数以及一个可以根据给定索引创建初始值的函数。
String类型
字符串的每个元素都是字符,可以使用索引访问:str[i],可以使用for循环进行遍历。字符串类型有以下4种表达方式。
1.普通字符串
val s = "Hello, world!"
2.转义字符串
val s = "Hello, world!\n"
3.原生字符串
val text = """
for (c in "foo")
print(c)
"""
4.字符串模版
如果需要将某个变量的值作为字符串的一部分,只需在该变量前加上$放入字符串即可。
val i = 10
val s = "i = $i" // evaluates to "i = 10"
也可以加上中括号
val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"