96SEO 2026-02-20 04:59 12
。

Dart诞生于2011年#xff0c;号称要取代JavaScript。
但是过去的几年中一直不温不火。
直到Flutter的出现现在被人们重新重视。
Dart是由谷歌开发的计算机编程语言,它可以被用于web、服务器、移动应用
和物联网等领域的开发。
Dart诞生于2011年号称要取代JavaScript。
但是过去的几年中一直不温不火。
直到Flutter的出现现在被人们重新重视。
要学Flutter的话我们必须首先得会Dart。
官网https://dart.dev/
Windowsmac如果mac电脑没有安装brew这个工具首先第一步需要安装它
Atom、Vscode等这里我们主要给大家讲解的是如果在VSCode中配置Dart。
使用VSCode,新建文件夹及Dart文件,运行输出(快捷键:
自动会类型推倒dart中定义变量可以通过var关键字可以通过类型来申明变量
而final不仅有const的编译时常量的特性最重要的它是运行时常量并且final是惰性初始化即在运行时第一次使用前才初始化永远不改量的量请使用final或const修饰它而不是使用var或其他变量类型。
age和Age是不同的变量。
在实际的运用中,也建议,不要用一个单词大小写区分两个变量。
[];print(l4);print(l4.length);l4.add(张三);l4.add(李四);l4.add(20);print(l4);print(l4.length);var
true];l5.add(李四);l5.add(zhaosi);print(l5);//
//创建一个固定长度的集合print(l6);print(l6[0]);l6[0]张三;
没法增加数据//通过List.filled创建的集合长度是固定var
l8String[张三,李四];print(l8.length);
1、字面量定义List2、指定类型定义List3、通过[]创建的集合它的容量可以可以变化,增加数据4、创建一个固定长度的集合
键和值可以是任何类型的对象。
每个键只出现一次而一个值则可以出现多次
person{name:张三,age:20,work:[程序员,送外卖]};print(person);print(person[name]);print(person[age]);print(person[work]);//第二种定义
Map();p[name]李四;p[age]22;p[work][程序员,送外卖];print(p);print(p[age]);
Rune是UTF-32编码的字符串。
它可以通过文字转换成符号表情或者代表特定的文字。
\u{1f44f};print(clapping);print(clapping.codeUnits);print(clapping.runes.toList());Runes
Symbol对象表示在Dart程序中声明的运算符或标识符。
您可能永远不需要使用符号但它们对于按名称引用标识符的API非常有用因为缩小会更改标识符名称而不会更改标识符符号。
要获取标识符的符号请使用符号文字它只是后跟标识符在
int){print(int);}else{print(其他类型);}
myNum1int.parse(str);print(myNum1);
myNum2double.parse(str2);print(myNum2);
myNumdouble.parse(price);print(myNum);}catch(err){print(0);}
五、Dart循环语句、for循环、do-while循环、break和continue
list[{cate:国内,news:[{title:国内新闻1},{title:国内新闻2},{title:国内新闻3}]},{cate:国际,news:[{title:国际新闻1},{title:国际新闻2},{title:国际新闻3}]}];
i0;ilist.length;i){print(list[i][cate]);print(-------------);for(var
j0;jlist[i][news].length;j){print(list[i][news][j][title]);}}
1、如果在循环中已经执行了break语句,就不会执行循环体中位于break后的语句。
【注】只能在循环语句中使用,使本次循环结束即跳过循环体重下面尚未执行的语句接着进行下次的是否执行循环的判断。
continue可以用在for循环以及
while循环中但是不建议用在while循环中一不小心容易死循环
六、Dart中List、Set、Map、forEach/map/where/any/every
fillRange(start,end,[fillValue])
,从start索引开始,到end索引结束,填充[fillValue]中的值,
myList[香蕉,苹果,西瓜];myList.fillRange(1,
aaa]//insert的使用myList.insert(1,aaa);
这里forEach、map、where、any、every的理解相对容易,只不过是换了个名字.
myList.forEach((value){print($value);});//2.map
mapListmyListMap.map((value){return
newListwhereList.where((value){return
everyValuemyList.every((value){
用它最主要的功能就是去除数组重复内容Set是没有顺序且不能重复的集合所以不能通过索引去获取值
Set();s1.add(香蕉);s1.add(苹果);s1.add(苹果);print(s1);
myList[香蕉,苹果,西瓜,香蕉,苹果,香蕉,苹果];var
Set();s2.addAll(myList);print(s2);
西瓜]s2.forEach((value)print(value)));
在方法A内部可以再定义方法B,但是B方法只能在方法A作用域内使用
aMethod(){aaa(){print(getList());print(aaa);
print(printUserInfo(张三,20));//实参
list[苹果,香蕉,西瓜];list.forEach((value){print(value);});list.forEach((value)print(value));
list.forEach((value){print(value)
1、定义一个方法isEvenNumber来判断一个数是否是偶数.
//1、定义一个方法isEvenNumber来判断一个数是否是偶数
变量或参数不会被系统回收(不会释放内存)闭包的写法函数嵌套函数并return
main(){print(a);func(){a;print(a);
}func();//124func();//125func();//126
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback