dart的基本语法(一)
2024-08-31 22:51:40
Hello world
安装dart的环境就不赘述了,无脑安装就可以了,安装过程中好像需要梯子(vpn),我装的时候失败好多次,我的梯子不能用了,准备不装了的时候,莫名其妙的装好了。迷の操作。惯例,一门新的语言必须要传统一下。
main(){
print("hello world");
}
直接就输出了 “hello world”,没有那么多繁杂的语法。
变量类型
定义变量
main(){
var age=24; // 使用var来定义变量,会自动的识别类型
int Age=24; // 直接使用int来定义也可以
age="25"; // (报错)类型检验自动识别类型以后,第一次什么类型之后就是什么类型了
print(age);
}
定义常量
main(){
// 赋值一次后就不能改变了,称之为常量,(感觉我说的就是废话)
final age=23;
const Age=25;
print(Age);
print(age);
}
final与const的区别:final 可以开始不赋值 只能赋一次 ; 而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使用前才初始化。
main(){
final time=new DateTime.now();
const Time=new DateTime.now(); // 报错
print(time);
}
字符拼接
main(){
String name="kign";
String age= "23";
print(name +":"+ age);
print("${name}+:+${age}");
}
list的定义
main() {
List l1 = ["aaa", "bbb", "ccc"];
print(l1[1]);
List l2 = [
{'age': 12},
{"age": 34}
];
print(l2[0]["age"]);
var l3 = new List<String>();
l3.add("value");
l3.add("page");
print(l3[1]);
}
Map的定义
main() {
Map m1={"name":"张三","age":24,"work":["程序员","外卖员"]};
print(m1["work"]);
var p=new Map();
p["name"]="李四";
p["age"]=23;
p["work"]=["程序员","外卖员"];
print(p["age"]);
}
类型判断
main() {
var age = 25;
if (age is int) { // is关键字
print("int类型数据");
} else {
print("其它类型数据");
}
}
??运算符
判断当前是否为空,为空则为??后的值,不为空则为当前赋值的值
main() {
var a;
var b = a ?? 10;
print(b);
var c = 22;
var d = c ?? 10;
print(d);
}
输出:
10
22
??=运算符
判断当前变量是否为空,为空则将运算符后的数值赋值给当变量
main() {
var a;
a??=23;
print(a);
var b=10;
b??=23;
print(b);
}
输出:
23
10
类型转换
main() {
var a="12";
var b=double.parse(a);
print(b);
var c="13";
print(c.toString());
}
集合循环
list
List myList=['香蕉','苹果','西瓜'];
// 最普通的循环
for(var i=0;i<myList.length;i++){
print(myList[i]);
}
// forEach
for(var item in myList){
print(item);
}
// forEach
myList.forEach((value){
print("$value");
});
// A数组扩大二倍赋值给B数组
List myList=[1,3,4];
List newList=new List();
for(var i=0;i<myList.length;i++){
newList.add(myList[i]*2);
}
print(newList);
// A数组扩大二倍给B数组
List myList=[1,3,4];
var newList=myList.map((value){
return value*2;
});
print(newList.toList());
list内容的判断
// 一
List myList=[1,3,4,5,7,8,9];
var newList=myList.where((value){ // 将数组中大于5的给予一个新数组
return value>5;
});
print(newList.toList());
// 二
List myList=[1,3,4,5,7,8,9];
var f=myList.any((value){ //只要集合里面有满足条件的就返回true
return value>5;
});
print(f);
// 三
List myList=[1,3,4,5,7,8,9];
var f=myList.every((value){ //每一个都满足条件返回true否则返回false
return value>5;
});
print(f);
Set的循环
main() {
var s=new Set();
s.addAll([1,222,333]);
s.forEach((value)=>print(value));
}
Map的循环
main() {
Map person={
"name":"张三",
"age":20
};
person.forEach((key,value){
print("$key---$value");
});
}
最新文章
- jQueryMobile示例页面代码
- Java方法调用中的别名处理
- HomeWork2
- NGINX location 在配置中的优先级
- 关于checkbox最保险和最模棱两可的方法
- POJ3687 Labeling Balls(拓扑排序\贪心+Floyd)
- 【转载】perl接受传递参数的方法
- CocoaPods的安装[转载]
- html5 canvas图片翻转
- 1.VS2010C++环境设置
- Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】
- android编程常见问题-程序在模拟器中不显示
- 使用WMI来连接远端计算机
- css应用四
- Linux Ubuntu从零开始部署web环境及项目 -----快捷键设置(四)
- formidable 表单文件和数据提交
- [LeetCode] Subdomain Visit Count 子域名访问量统计
- 国网电表dlt645-2007抄表软件
- mybatis model属性注入多个对象 与model属性注入单个对象
- Linux init 0-6 启动级别