dart为动态类型语言
dart中的 Var 跟kotlin一样,表示任意数据类型
dart中最高级的类跟Java一样叫做Object,Kotlin叫做Any
dart中一切都是对象,每个对象都是类的实例(包括null),所有类都继承自object,未被初始化的都会被赋值为:null
dart 以“;”结尾,跟Java一样。Kotlin 不需要结尾符
dart关键字有new(dart2可省略),static跟java一样。Kotlin没有new,static关键字,有伴生对象
dart中static只能修饰类的成员(变量与方法)。
dart对象类型判断用 is 跟kotlin一样;Java 用Instanceof
bool isNum = a is num; //dart、flutter
bool isList = list is! List; //dart、flutter
var isStudent3 = student is Student3 //kotlin
var isStudent3 = !(student is Student3) //kotlin
boolean isStudent = student instanceof Student; //Java
dart中assert:断言
assert(text != null);
assert 判断的条件可以是任何可以转化为 boolean 类型的对象,即使是函数也可以(此时判断的是函数返回值)。
如果assert 的判断为true, 则继续执行下面的语句。反之则会丢出一个异 AssertionError 。
kotlin主动抛出异常,throw OutOfMemoryError(“内存溢出了”) 操作跟Java一样
简介:
Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。 Flutter可以与现有的代码一起工作。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
Dart语言支持以下类型
数字(int double)
字符串(String):
Dart字符串是一系列UTF-16代码单元。 Runs 用于表示UTF-32代码单元序列。
关键字 String 用于表示字符串文字。字符串值嵌入单引号或双引号中。
布尔(bool)
列表(list)
map
dart的一个文件可以main方法与类同级别定义,但只能一个main方法。
dart的main方法:
void main() {...}
//或
main() {...} //void可省略。
dart语句结束必须带分号
dart2中new关键字已经成为一个可选项,可省略
dart中set、get方法内只有一行语句可简写:
String get get_name => name;
int get get_age => age;
set set_name(String name) => this.name = name;
set set_age(int age) => this.age = age;
dart中没有权限修饰符,使用前缀下划线表示私有,如: _name
dart没有package,只有import
简介:
Kotlin 是一种在 Java 虚拟机上运行的【静态类型】编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。
Kotlin类型包括
Byte、
Short、
Int、
Long、
Float、
Double
布尔boolean
字符串
val text = """
多行字符串
多行字符串
"""
数组
//[1,2,3]
val a = arrayOf(1, 2, 3)
//[0,2,4]
val b = Array(3, { i -> (i * 2) })
不同于Java的是,字符不属于数值类型,是一个独立的数据类型。
和 Java 不一样,Kotlin 中的 Char 不能直接和数字操作,
Char 必需是单引号 ' 包含起来的。比如普通字符 '0','a'。
kotlin的一个文件可以存在多个类,但一个类中只能一个main方法。
kotlin的main方法:
fun main(args: Array) {...}
kotlin语句结束不带分号
kotlin中没有new关键字
kotlin中set、get方法在变量定义时给出进行限定,也可省略设置默认:
var name: String = ""
get() = field.toUpperCase() // 将变量赋值后转换为大写
set
var age: Int = 0
get() = field // 后端变量
set(value) {
if (value < 10) { // 如果传入的值小于 10 返回该值
field = value
} else {
field = -1 // 如果传入的值大于等于 10 返回 -1
}
}
kotlin中变量:冒号后为类型,等号后为值
var person: Person = Person()
kotlin中权限修饰符
private // 仅在同一个文件中可见
protected // 同一个文件中或子类可见
public // 所有调用的地方都可见
internal // 同一个模块中可见
kotlin有package,import