首先贴下文档地址:
https://book.flutterchina.club/chapter1/dart.html
一:变量声明
1.1Variables
var 可以接收任意类型的变量,但是无法改变变量类型。如:
name 执行下面这个赋值时会报错
name
2:dynamic和Object
所有能够使用变量引用的都是对象, 每个对象都是一个类的实例。在 Dart 中 甚至连 数字、方法和 null 都是对象。所有的对象都继承于Oject类。
dynamic声明的变量可以赋值任意对象。
dynamic t x
t
x
3:Final and const
final 变量只能赋值一次;const 为编译时变量。
string name string avatar
和 修饰的变量可省略变量类型,即
name
avatar
4:Numbers(数值)
num 下有两种数值类型int和double 。
num 类型定义了基本的操作符,例如 +, -, /, 和 *, 还定义了 abs()、 ceil()、和 floor() 等 函数。
int 类型支持位移操作。
assert (断言)如果条件表达式结果不满足需要,则可以使用 assert 语句俩打断代码的执行、
5:string 字符串
Dart 字符串是 UTF-16 编码的字符序列。 可以使用单引号或者双引号来创建字符串:
name avatar
string 可通过‘+’ 连接,也可以直接去掉。
avatar user
可以在字符串中使用表达式 ${expression}。
name 操作符判断两个对象的内容是否一样。 如果两个字符串包含一样的字符编码序列, 则他们是相等的。
6:Lists(列表)
list
在 list 字面量之前添加 const 关键字,可以 定义一个不变的 list 对象(编译时常量):
list list
flutter following was thrown handling a gesture
flutter operation modify an unmodifiable list
flutter the exception was thrown was the stack
flutter # dart_internallistdart
flutter # _MyHomePageState_incrementCounter flutter_dart_demomaindart
flutter # setState fluttersrcwidgetsframeworkdart
flutter # _MyHomePageState_incrementCounter flutter_dart_demomaindart
flutter # _InkResponseState_handleTap fluttersrcmaterialink_welldart
flutter # _InkResponseStatebuild fluttersrcmaterialink_welldart
flutter # invokeCallback fluttersrcgesturesrecognizerdart
flutter # _checkUp fluttersrcgesturestapdart
flutter # acceptGesture fluttersrcgesturestapdart
flutter # sweep fluttersrcgesturesarenadart
flutter # _WidgetsFlutterBindinghandleEvent fluttersrcgesturesbindingdart
flutter # _WidgetsFlutterBindingdispatchEvent fluttersrcgesturesbindingdart
flutter # _WidgetsFlutterBinding_handlePointerEvent fluttersrcgesturesbindingdart
flutter # _WidgetsFlutterBinding_flushPointerEventQueue fluttersrcgesturesbindingdart
flutter # _WidgetsFlutterBinding_handlePointerDataPacket fluttersrcgesturesbindingdart
flutter # _invoke1 dartuihooksdart
flutter # _dispatchPointerDataPacket dartuihooksdart
二:函数
方法可以赋值给变量,也可以当做其他方法的参数。 也可以把 Dart 类的实例当做方法来调用。
2.1函数定义
bool atomicNumber _nobleGasesatomicNumber
当然还可以忽略返回类型,但是不指定返回类型后,dart语言默认为dynamic,就不是bool类型。
dynamic t x
t
x
0
2.2 缩写语法
对于只包含一个表达式的函数,可以使用简写语法
dynamic t x
t
x
1
在箭头 (=>) 和冒号 (;) 之间只能使用一个 表达式 – 不能使用 语句。 例如:你不能使用if statement,但是可以 使用条件表达式
2.3Optional parameters可选参数
可选参数只能在任何必需的参数之后声明。
可选参数可以有一个默认值,当默认值在调用者没有指定值时使用。
可选参数分为可选位置参数和可选命名参数。
2.3.1可选命名参数
在定义方法的时候,使用 {param1, param2, …} 的形式来指定命名参数:
dynamic t x
t
x
2
调用方法的时候,你可以使用这种形式 paramName: value 来指定命名参数。例如:
dynamic t x
t
x
3
2.3.2可选位置参数
把一些方法的参数放到 [] 中就变成可选 位置参数了:
dynamic t x
t
x
4
调用时有两种方式:
第一种是不带位置参数的:
dynamic t x
t
x
5
第二种是带位置参数的:
dynamic t x
t
x
6
2.4方法作为参数
可以把方法当做参数调用另外一个方法。例如:
dynamic t x
t
x
7
还可以把方法赋值给变量如:
dynamic t x
t
x
8
2.5匿名方法
匿名方法又叫lambda或者closure 闭包。
* *定义:
dynamic t x
t
x
9
还没有评论,来说两句吧...