Android开发经验谈Android开发Android开发

初探Kotlin(二)

2017-10-07  本文已影响28人  YoungerDev

Hello World

先来一个Kotlin 中的Hello world
fun main(args: Array<String>){
println("Hello World")
}

函数

fun max(a: Int, b: Int): Int {
return if(a>b) a else b
}
函数的声明以关键字fun 开始,后面是函数名 ,括号中是参数列表,再后面的是返回值得类型,他们之间用: 分隔.
在Kotlin中 if 是表达式,而不是语句. 语句和表达式的区别是: 表达式有值,并且可以作为另一个表达式的一部分使用; 而语句总是包围着它的代码块中的顶层元素. 在Java 中所有的控制结构都是语句;而在Kotlin中 除了循环(for,do,do/while)以为大多数控制结构都是表达式

变量

默认情况下,应该尽量使用val 关键字来声明所有的Kotlin变量,仅在必要的时候换成var. 使用不可变引用,不可变对象及无副作用的函数让你的代码更加接近函数式编程风格.

更简单的字符串格式化:字符串模板

fun main(args : Array<String>){
val name = if(args.size>0) args[0] else "Kotlin"
println("Hello, $name!")
}

$还可以引用更加复杂的表达式.只需把表达式用花括号括起来:
fun main(args : Array<String>){
if(args.size>0){
println("Hello, ${args[0]}!")
}
}
还可以在双引号中直接嵌套双引号,在要他们处在某个表达式的范围内(花括号内):
fun main(args : Array<String>){
println("Hello, ${if (args.size > 0 ) args[0] else "SomeOne"}!")
}

类和属性

class Person(val name: String)
替代了 Java 中的
public class Person{
private final String name;
setter getter 方法
}
Kotlin 中public 默认可见的,可以省略.

枚举和"when"

enum class Color{
RED,ORANGE,YELLOW,GREEN,BLUE
}
也可以这样
enum class Color(val r: Int ,val g: Int ,val b: Int){
RED(255,0,0),ORANGE(255,165,0),YELLOW(255,255,0),
GREEN(0,255,0),BLUE(0,0,255);
//定义方法
fun rgb() = (r256+g)256+b
}

->>> println(Color.BLUE.rgb())
255

小结

上一篇 下一篇

猜你喜欢

热点阅读