热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flutter02Dart基础快速入门

Dart基础知识程序入口控制台输出变量检查null或零Functions异步编程Futuresasync和await程序入口在Dart中,每个app都必须有一个

Dart基础知识

  • 程序入口
  • 控制台输出
  • 变量
  • 检查null或零
  • Functions
  • 异步编程
  • Futures
  • async和await

程序入口

在Dart中, 每个app都必须有一个顶级的main() 函数作为应用程序的入口点。

// Dart
main() (
)

练一练Dart Pad。

Dart Pad是Dart的一个线上playground, 提供Dart线上playground还有:Online Dart Compiler。

控制台输出

要在Dart中打印到控制台,可使用print:

//Dart
print('Helloworld!') ;

变量

Dart是类型安全的 - 它使用静态类型检查和运行时的组合, 检查以确保变量的值始终与变量的静态值匹配类型。尽管类型是必需的, 但某些类型注释是可选的, 因为Dart会执行类型推断。

创建和分配变量

在Dart中, 变量必须是明确的类型或系统能够解析的类型。

//Dart
String name='dart'; //Explicitly typed as a string.
var other Name='Dart'; //Inferred string.
//Both are acceptable in Dart.

默认值
在Dart中, 未初始化的变量的初始值为null。
注意:数字在Dart中也被当成对象, 所以只要是带有数字类型的未初始化变量的值都是"null"。

//Dart
var name; // ==null
int x; // ==null

检查null或零

在Dart中, 只有布尔值true被视为true。

void main() {var myNull = null;if(myNull == null){print("myNull == null");}var zero = 0;if(zero == 0){print("zero == 0");}
}

Dart null 检查最佳实践

看一下下面预计的执行结果:

print(null??false);print(false??11);print(true??false);

Functions

//Dart
fn(){return true;
}//can also be written as
bool fn(){return true;
}

异步编程

Futures
Dart支持单线程执行,Dart使用Future来表示异步操作:

_getIpAddress(){final url = "https://www.baidu.com";httpRequest.request(url).then((values){print(values);}).catchError((error) => print(error));}

async和await

async函数声明定义了一个异步函数。async函数返回一个Future, 函数的主体是稍后执行。

_getIpAddress() async{final url = "https://www.baidu.com";var request = await HttpRequest.request(url);String ip = json.decode(request.responseText) ['origin'];print(ip);}


推荐阅读
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 本文介绍了Go语言中正则表达式的基本使用方法,并提供了一些实用的示例代码。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将深入探讨 iOS 中的 Grand Central Dispatch (GCD),并介绍如何利用 GCD 进行高效多线程编程。如果你对线程的基本概念还不熟悉,建议先阅读相关基础资料。 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 为了向用户提供虚拟应用程序,通常会在基础架构中部署StoreFront或Web Interface。为了确保安全的远程访问,通常需要在DMZ中配置Secure Gateway或Access Gateway。本文详细对比了这两种界面工具的功能特性,包括用户管理、安全性、性能优化等方面,为企业选择合适的解决方案提供了全面的参考。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • 求助高手调试程序,非常感谢您的支持!在编写C语言程序时遇到了一些问题,具体代码如下:```c#include #include #include #define MAX 50int t;```希望有经验的开发者能提供指导,帮助解决调试中的难题。感谢您的时间和帮助! ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
author-avatar
mobiledu2502875697
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有