《Kotlin实战》读书笔记第一章
静态类型的编程语言
kotlin和java一样是一种静态类型的编程语言。
静态类型:所有表达式的类型在编译期已经确定,编译器能验证对象是否包好你想访问的方法或者字段。
动态类型:可以定义能存储任何数据类型的变量,或者返回任何类型的函数,并在运行时才解析方法和字段引用。
静态类型带来的好处:
- 性能:方法调用更快,不需要运行时再判断调用哪个方法
- 可靠性:编译器验证了程序的正确性,崩溃概率更低
- 可维护性:陌生代码更衣维护,可以看到代码中用到的对象类型
- 工具支持:IDE能提供可靠的重构,精确的代码补全
函数式和面向对象
函数式编程的核心概念:
- 头等函数:把函数(一小段行为)当做值使用,可以用变量保存它,把它当做参数传递,或者当做其他函数的返回值
- 不可变性:使用不可变对象,保证其状态在创建之后不能再变化
- 无副作用:使用的是纯函数。在输入相同时,产生相同的结果,并且不会修改其他对象的状态,也不会和外面的世界交互
函数式编程风格的优点:
- 简洁:lambda表达式可以把函数当做值,作为参数传递给目标函数
- 多线程安全:使用的是不可变数据结构和纯函数
- 测试更加容易:无副作用的函数可以独立测试
小结
- Kotlin是静态类型语言,支持类型推导。维护正确性与性能的同时,保持源码简洁
- 支持面向对象与函数式两种编程风格,通过头等函数使更高级别的抽象成为可能,通过支持不可变值简化了测试与多线程开发
- 在服务端应用中运行良好,支持现存Java框架,为常见任务提供新工具,如生成HTML和持久化
- 在Android上也能工作,得益于紧凑的运行时、对Android API特殊的编译器支持以及丰富的库,为常见Android开发任务提供了Kotlin友好的函数
- 免费,开源,支持主流IDE与构建系统
- 务实,安全,简洁,与Java可互操作。防止空指针,代码紧凑易读。