一、入口方法
在Dart中,main()
是程序的入口点:
void main() { print("hello, world!"); // 输出 "hello, world!" }
或者可以省略返回类型声明:
main() { print("hello, world!"); }
二、输出函数
使用print()
函数进行输出:
print(); // 示例为空,通常需要传递要打印的内容
三、注释
Dart支持多种注释方式:
- 单行注释:
// 我是单行注释
- 文档注释(也适用于单行):
/// 我是单行文档注释
- 多行注释:
/* 我是多行注释 我是多行注释 */
四、变量
变量定义与类型推导
Dart允许通过var
关键字推导变量类型:
main() { var a = "aStr"; // 类型为String String b = "bStr"; print(a + b); // 输出 "aStrbStr" }
内置类型
数值类型
int
:整数类型double
:浮点数类型。double
可以赋值整数,但int
不能直接赋值小数。
int num1 = 1; // int num2=1.2; // 编译错误,不能将小数赋给int double num3 = 4; double num4 = 4.434343;
布尔类型
bool isTrue = true; bool isFalse = false;
字符串类型
main() { String str1 = " abc1 abc"; String str2 = 'abc2'; String str3 = ''' abc3'''; String str4 = r'abc'; print(str1.hashCode); print(str1.isEmpty); print(str1.isNotEmpty); print(str1.length); print(str1.runtimeType); print(str1.runes); print(str1.toLowerCase()); print(str1.trim()); print("str2: $str2"); }
列表类型
void main() { List<int> list = [1, 2, 3]; // 创建List list.add(4); // 添加元素 print(list.length); // 获取长度 print(list); // 打印列表 list.forEach(print); // 遍历并打印元素 list.shuffle(); // 打乱顺序 print(list); }
键值对类型
void main() { Map<String, dynamic> map = {'name': 'liyuanjing', 'age': 12}; // 定义Map print(map['name']); // 获取name值 map['address'] = 'beijing'; // 增加键值对 map.remove('age'); // 删除键 print(map); map.clear(); // 清空Map print(map); } // 动态类型与Object示例 void main() { var name = "hello"; Object name2 = "hello2"; dynamic name3 = "hello3"; dynamic map = {'name': 'minos', 'age': '27'}; bool obj1 = map is Map<String, String>; // 类型判断 print(obj1); Map<String, String> obj2 = map as Map<String, String>; // 类型转换 print(obj2); }
五、常量
Dart中定义常量有两种方式:final
和const
。
main() { final nums = 300; // final常量,运行时检查 const number = 200; // const常量,编译时检查 print(nums); print(number); const time1 = '2020-01-01'; // 字面量常量 // const time2 = DateTime.now(); // 编译时无法确定值,所以错误 final time3 = '2020-01-01'; final time4 = DateTime.now(); print(time1); // print(time2); // 不可打印未定义的time2 print(time3); print(time4); }