flutter入门dart语言:初步了解内建类型(代码片段)

小雨青年 小雨青年     2023-04-05     672

关键词:

文章目录

一、概述

"The greatest glory in living lies not in never falling, but in rising every time we fall." - Nelson Mandela

"生活中最大的荣耀不在于从不跌倒,而在于每次跌倒后都能重新站起。" - 纳尔逊·曼德拉

1.为什么叫内建类型?

“内建类型”(built-in types)这个说法是因为 Dart 语言自带了一些数据类型,比如 intdoubleString 等,用户不需要再定义就可以直接使用,因此这些类型被称为内建类型。

2.Dart的内建类型有哪些?

Dart 内建类型有:

  • num:数字类型的父类型,包括 intdouble
  • int:整数类型。
  • double:浮点数类型。
  • String:字符串类型。
  • bool:布尔类型。
  • List:数组类型。
  • Map:字典类型。
  • Function:函数类型。

此外,Dart 还有一些特殊的内建类型,如 dynamicvarObject 等。

二、内建类型详解

1.num

num 是 Dart 语言中的父类型,用来表示数字类型。它是 intdouble 的父类型,可以表示整数和浮点数。

下面是一个简单的示例:

num a = 10;
num b = 3.14;

print(a + b);  // 13.14

在上面的代码中,a 被声明为数字类型 num,并赋值为整数 10。b 也被声明为数字类型 num,并赋值为浮点数 3.14。然后,它们两个被相加,结果为 13.14。

因为 numintdouble 的父类型,所以它可以容纳两种数字类型,并且可以被强制转换为 intdouble 类型。

num c = 10;
int d = c;
print(d);  // 10

num e = 3.14;
double f = e;
print(f);  // 3.14

在上面的代码中,变量 c 被赋值为整数 10,并强制转换为整数类型 int,赋值给变量 d。同样,变量 e 被赋值为浮点数 3.14,并强制转换为浮点数类型 double,赋值给变量 f

2.int

int 是 Dart 语言中的整数类型。它用来表示整数,如 0、1、2、3 等。

下面是一个简单的示例:

int a = 10;
int b = 20;

print(a + b);  // 30

在上面的代码中,ab 都被声明为整数类型 int,并分别赋值为 10 和 20。然后,它们两个被相加,结果为 30。

注意:整数类型 int 不能表示小数,如果需要表示小数,则应使用浮点数类型 double

此外,Dart 中的整数类型 int 支持各种数学运算,如加减乘除、取模等。

下面是一个简单的示例:

int a = 10;
int b = 3;

print(a + b);  // 13
print(a - b);  // 7
print(a * b);  // 30
print(a / b);  // 3
print(a % b);  // 1

在上面的代码中,变量 ab 都被声明为整数类型 int,分别赋值为 10 和 3。然后,它们进行加减乘除和取模等数学运算。

3.double

double 是 Dart 语言中的浮点数类型。它用来表示浮点数,如 3.14、1.23 等。

下面是一个简单的示例:

double a = 10.5;
double b = 20.3;

print(a + b);  // 30.8

在上面的代码中,ab 都被声明为浮点数类型 double,并分别赋值为 10.5 和 20.3。然后,它们两个被相加,结果为 30.8。

注意:浮点数类型 double 的精度有限,不能精确地表示所有小数,而且在一些特殊情况下,可能导致精度问题。

此外,Dart 中的浮点数类型 double 也支持各种数学运算,如加减乘除等。

下面是一个简单的示例:

double a = 10.5;
double b = 3.14;

print(a + b);  // 13.64
print(a - b);  // 7.36
print(a * b);  // 32.93
print(a / b);  // 3.33

在上面的代码中,变量 ab 都被声明为浮点数类型 double,分别赋值为 10.5 和 3.14。然后,它们进行加减乘除等数学运算。

4.String

String 是 Dart 语言中的字符串类型。它用来表示文本字符串,如 “Hello World”、“Dart is Fun” 等。

下面是一个简单的示例:

String name = "John Doe";

print("Hello, " + name);  // Hello, John Doe

在上面的代码中,变量 name 被声明为字符串类型 String,并赋值为 “John Doe”。然后,它和字符串 "Hello, " 进行拼接,结果为 “Hello, John Doe”。

Dart 中的字符串类型 String 支持各种字符串操作,如拼接、切片、搜索、替换等。

下面是一个简单的示例:

String s1 = "Hello";
String s2 = "World";

print(s1 + " " + s2);  // Hello World
print(s1.length);       // 5
print(s2.substring(0, 4));  // Worl
print(s1.replaceAll("l", "x"));  // Hexxo

在上面的代码中,变量 s1s2 都被声明为字符串类型 String,分别赋值为 “Hello” 和 “World”。然后,它们进行拼接、求长度、切片、替换等字符串操作。

5.bool

bool 是 Dart 语言中的布尔类型,用来表示真假两种状态。在 Dart 中,只有两个值可以表示布尔类型:truefalse

下面是一个简单的示例:

bool isTrue = true;
bool isFalse = false;

print(isTrue);  // true
print(isFalse); // false

在上面的代码中,变量 isTrueisFalse 都被声明为布尔类型 bool,分别赋值为 truefalse

布尔类型主要用来在条件判断语句(ifswitchwhile 等)中,作为判断条件,决定是否执行特定代码。

下面是一个简单的示例:

bool isTrue = true;

if (isTrue) 
  print("This is true.");  // This is true.
 else 
  print("This is false.");

在上面的代码中,变量 isTrue 被声明为布尔类型 bool,并赋值为 true。然后,它作为判断条件,决定执行哪一个分支。如果 isTruetrue,则执行第一个分支,并输出 “This is true.”。

6.List

List 是 Dart 语言中的列表类型,也称为数组。它是一种有序的元素集合,可以存储任何类型的数据,包括数字、字符串、布尔值等。

创建一个列表需要使用方括号 [],并在方括号内使用逗号 , 分隔元素。

下面是一个简单的示例:

List<String> names = ["Alice", "Bob", "Charlie"];

print(names);  // [Alice, Bob, Charlie]

在上面的代码中,变量 names 被声明为列表类型 List<String>,表示这是一个字符串元素的列表。然后,列表中的三个字符串元素被分别初始化为 “Alice”、“Bob”、“Charlie”。

列表的元素可以使用下标访问,下标从 0 开始。

下面是一个简单的示例:

List<String> names = ["Alice", "Bob", "Charlie"];

print(names[0]);  // Alice
print(names[1]);  // Bob
print(names[2]);  // Charlie

在上面的代码中,列表 names 中的每一个元素都可以通过下标访问。例如,通过 names[0] 可以访问列表中的第一个元素 “Alice”。

一个列表的元素可以是不同类型的。Dart 是一种动态类型语言,不需要在创建列表时明确指定列表元素的类型。因此,您可以在同一列表中存储多种类型的元素。

List mixedList = [1, "Hello", true];

print(mixedList[0]);  // 1
print(mixedList[1]);  // Hello
print(mixedList[2]);  // true

在上面的代码中,列表 mixedList 中的三个元素分别是整数、字符串和布尔值。它们可以通过下标访问,如上面代码中所示。

7.Map

Map 是 Dart 中一种用于存储键/值对的数据结构。键和值都可以是任何类型的值,键是唯一的。您可以通过键来访问与之对应的值。

这是一个示例:

var student = 
  'name': 'John Doe',
  'age': 30,
  'isGraduate': true
;

print(student['name']);  // John Doe
print(student['age']);  // 30
print(student['isGraduate']);  // true

在上面的代码中,我们创建了一个名为 student 的 Map,并存储了三个键/值对。您可以通过访问字典中的键来访问与之对应的值。

8.Function

Function 是 Dart 中一种代码块的类型,可以作为变量进行赋值、作为参数传递给其他函数、作为返回值返回给调用者。

// 定义一个函数
String greet(String name) 
  return 'Hello, $name!';


// 调用函数
print(greet('John Doe'));  // Hello, John Doe!

// 将函数赋值给变量
var greetFunction = greet;
print(greetFunction('Jane Doe'));  // Hello, Jane Doe!

// 作为参数传递给其他函数
void printGreeting(String name, String Function(String) greet) 
  print(greet(name));

printGreeting('John Doe', greet);  // Hello, John Doe!

在上面的代码中,我们定义了一个名为 greet 的函数,该函数接受一个字符串类型的参数 name,并返回一个字符串类型的值。我们还将该函数赋值给了变量 greetFunction,并使用它作为参数传递给了另一个函数 printGreeting

三、总结

这次我们学习了Dart的内建类型,这些类型在我们的代码中是会被经常用到。

flutter入门dart语言:函数入门指南(代码片段)

文章目录一、概述二、函数基础1.定义函数2.调用函数3.函数参数4.函数返回值三、总结一、概述Dart是一门的面向对象语言,因此函数也是对象。函数可以像其他任何对象一样,被赋值给变量或作为另一个函数的参数使用... 查看详情

flutter入门-dart面向对象原理

参考技术ADart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承。所有的类都有同一个基类Object,这和特性类似于Java语... 查看详情

flutter--实战dart语言快速入门(代码片段)

前言Dart是FlutterSDK指定的语言,因此要学习Flutter,Dart是必须掌握的。本篇文章来介绍下Dart的精髓,带你快速入门。1.Dart开发环境搭建学习Dart语法最好需要用一个编辑器来实践,推荐使用IntelliJIDEA。下载DartSDK,地... 查看详情

dart之旅-内建类型(代码片段)

像大多数语言一样,dart也提供了number,string,boolean等类型,包括以下几种:numbersstringsbooleanslists(alsoknownasarrays)mapsrunes(forexpressingUnicodecharactersinastring)symbols这几种内建类型的特点之一是你可以使用字面量来创建一个相应的对象。... 查看详情

flutter入门dart语言:简单易懂的变量指南(代码片段)

文章目录一、概述二、详解1.变量的声明2.常量变量3.`late`延迟初始化变量4.变量的命名规则三、总结一、概述“不抱有希望的人生是毫无意义的。”——阿卜杜勒·阿齐兹Dart中的变量是存储值的容器。它们可以是数字、字... 查看详情

flutter入门---内部分享

...部门给分配的分享任务,由于项目太赶,推迟一个月。选Flutter这个主题,是因为现在它慢慢流行起来了,而我却不了解,故而借此契机,上手试试。简介Flutter是Google推出的跨平台开发框架。?前?支持iOS,Android开发,对web端和桌面... 查看详情

flutter入门dart语言:函数高级指南(代码片段)

文章目录一、前言二、函数高级用法1.匿名函数2.高阶函数3.级联符号4.main函数三、总结一、前言在上一篇文章中,我们学习了函数的基本用法,这次,我们继续学习函数的高级用法以及注意事项。"Successisthesumofsmallefforts,repeatedday... 查看详情

flutter快速入门

好久以前就听说了dart和flutter,只是一直没有时间去研究一下,最近有了些时间就简单的研究了一下,也算是快速的入门了。dart是Google开发的语言,目前最新的版本为2.1,官网地址https://www.dartlang.org/官网截图下载dart的sdk下载flutte... 查看详情

flutter开发之dart语言从入门到精通(从入坑到入土)(代码片段)

flutter的市场需求几天前,一个小学弟告诉我,他面了7家大厂,最后拿到了五个offer,其中有酷狗、WPS、斗鱼、字节都在其中。他和我分享了一下他的面试经历,最后反复向我强调:flutter很重要!!... 查看详情

flutter学习笔记·初识dart语言(代码片段)

...t代码变量声明var变量声明const和final修饰符void关键字前言Flutter是一个开发工具包,并不是编程语言,Flutter开发使用Dart语言编写,要使用Flutter,要先对Dart进行一定的了解在上一期,安装好了Flutter和dart环境... 查看详情

flutter开发之dart语言从入门到精通(从入坑到入土)(代码片段)

flutter的市场需求几天前,一个小学弟告诉我,他面了7家大厂,最后拿到了五个offer,其中有酷狗、WPS、斗鱼、字节都在其中。他和我分享了一下他的面试经历,最后反复向我强调:flutter很重要!!... 查看详情

flutter开发之dart语言从入门到精通(从入坑到入土)(代码片段)

flutter的市场需求几天前,一个小学弟告诉我,他面了7家大厂,最后拿到了五个offer,其中有酷狗、WPS、斗鱼、字节都在其中。他和我分享了一下他的面试经历,最后反复向我强调:flutter很重要!!... 查看详情

dart语言特性必备了解!(代码片段)

学习Dart语言,必须将以下的概念熟记于心:在dart语言中,一切皆为对象。所有的对象都是一个类的实例。甚至整数、函数、null也看做是对象。所有的对象都继承于Object类尽管Dart是强类型语言,但是变量的类型指定不一定要标... 查看详情

flutter--实战快速入门flutter

文章目录一、Flutter介绍二、Flutter环境配置三、学习资料四、视频&书籍五、博客专栏六、第三方库1.网络2.UI3.数据4.设备5.工具6.实战一、Flutter介绍Flutterapp使用了Dart语言,源自于Google,现在是ECMA的标准。Dart吸收了许多... 查看详情

dart语言入门(代码片段)

一、数据类型基本数据类型intdoubleString字符串类型,用单引号或者双引号都可以。bool布尔类型,需要注意的是dart不同于c语言可以再if语句中用int型代替bool类型。列表List列表支持随机访问,类似于java的数组//直接定... 查看详情

flutter入门dart语言:控制流语句的基本用法(代码片段)

文章目录一、前言二、控制流语句1.if-else2.for3.while、do-while3.switch-case4.break、continue三、总结一、前言在Dart中,控制流语句用于控制程序的执行流程。以下是Dart中主要的控制流语句类型:if-else:根据布尔表达式有条件... 查看详情

『flutter开发实战』一小时掌握dart语言(代码片段)

 参考:https://dart.cn/guides/language/language-tourDart开发语言概览本文将从变量和运算符开始到类和库的使用来向你介绍Dart编程语言的主要功能,这里假设你已经有使用其它语言进行编程的经验。你可以通过查看 Dart库概览 ... 查看详情

flutter入门之dart中的并发编程异步和事件驱动详解(代码片段)

并发编程我们知道dart是个单线程的语言,和js一样,所以dart中不存在多线程操作,那么我们如果遇到多任务并行的场景,该如何去做呢?dart中提供了一个类似于java新线程但不能共享内存的独立运行的workerÿ... 查看详情