来源:google
- 启动 *Dart文件具有.dart扩展名
*每个程序需要从main 方法启动
void main() {
}
ex:
void main() {
print("Welcome to DART!");
}
- 数据类型: 数字
void main() {
int a = 7; // 整数
double b = 3.5; // 浮点数
print('$a $b'); // $引用符
}
void main() {
int a = 7;
double b = 3.5;
//num 统一类型(预计有坑)
num c = 35;
num d = 4.5;
print('$c $d');
}
- 数据类型: 字符串
void main() {
String str = "Dart";
print('I am learning the $str lang');
}
- 数据类型: 布尔
void main() {
bool flag = true;
print(flag);
}
void main() {
bool flag = false;
print(flag);
}
- var
var is a keyword that can declare any data type
runtimeType prints the type of the variable declared
var 是一个标识所有数据类型的变量
runtimeType 打印变量类型
void main() {
var x = "Dart";
print(x.runtimeType);
var y = 4.5;
print(y.runtimeType);
}
- 转换数据类型
void main() {
var x = "4";
int number = int.parse(x); // String转为int
var y = "4.6";
double dNum = double.parse(y); // String转为double
var z = 55;
String s = z.toString(); // int转为String
}
- Dart中的列表
void main() {
var a = [1, 2, 3];
var b = ["hello", "world"];
var c = [1, "abc", 4.3]; // 可以不同类型在一个数组中
}
- Dart中的map(字典)
void main() {
var maps = {
"name":"John",
"age":45
};
}
// 输出Maps
print(maps);
print(maps.keys);
print(maps.values);
print(maps['name']);
- final 变量
void main() {
final int x = 45;
x = 35;
}
// 报错
// final 关键字修饰的变量只能被设置一次, 不能修改.
- 方法有参数和返回值
void main() {
int res = getResult(5); // 调用方法
print(res);
}
int getResult(int x) { // 有一个 int 类型的返回值 和 一个int类型的参数
return x*x;
}
- 方法2有参数无返回值
void main() {
var proceryList = ["Apples", "Oranges"];
printGrocery(proceryList);
}
void printGrocery(List<String> list) { // 参数指定String类型的List
for(var item in list) { // for in 循环
print(item);
}
}
- 方法3参数是可选类型
void main() {
var groceryList = ["Apples", Oranges];
printGroceryList(groceryList);
}
void printGrocery(List<String> list, [double price]) { // ? 用[]来标识可选类型 -- 好奇怪
for(var item in list){
print(item);
}
print(price);// ? 可选类型也不需要做判断和特殊处理?
}
- 空值检查
if(price==null) // 不需要大括号 空类型用null标识
print("Free");
else
print(price);
// null aware operators
print(price??"Free");
- 参数命名
// 调用方法
printGrocery(price: 299.0, list: groceryList);
// 实现方法
void printGrocery(({List<String> list, double price}) { // 用大括号标识要命名的参数?
}
- 字符串插入
print('Price is ${price??"Free"}');
- 类的实现
void main() {
Person pObj = new Person(name: "Rahul", age: 5); // pObj 是一个对象
print(pObj.name)
}
class Person{ // class 关键词
String name;
int age;
Person({this.name, this.age}); // this 关键词
}
- => 箭头方法 ??
void printName() {
print(name);
}
// 可以转换为
void printName => print(Name);
- 类成员和类方法
void main() {
print(Constants.ID); // 调用静态类变量
print(Constants.getID()); // 调用静态类方法
}
class Constants {
static String ID = "31415926"
static String getID() {
return 'ID is $ID';
}
}
更多学习资源:
来源:google