FANUC发那科数控机床系统解锁解密

FANUC发那科数控机床系统解锁解密变量var
变量用关键词var来定义,Dart语言是类型推断的所以在定义变量的时候可以不用指明变量的类型,例子如下
void main() {
var name = “小明”;
var age = 10;
var job;

print(name);
print(age);
print(job);
}
复制代码

在上面例子中,定义了变量 name 和 age ,job,其中给name赋值 “小明”,根据类型推断name就是String 类型的,给 age赋值 10,根据类型推断age 就是 int 类型的。对job没有赋值job变量的默认值就是null。
需要注意的是变量的类型一旦确定就不能再给他赋不同类型的值。

常量final,const
常量用 final 或 const 关键字,例子如下
void main() {
final a = “好”;
const b = 1;
}
复制代码

需要注意的是,常量在定义的时候一定要进行赋值,且定义好以后不能被修改否则会报错。
二、Dart中的数据类型
在Dart中all is Object ,Dart 中有 numbers(数值类型),strings (字符串类型),booleans(布尔类型),lists(列表类型),maps(字典类型),runes(字符类型),symbols(符号类型)

数值类型

在Dart中数值类型只有int 和 double两种,例子如下
void main() {
int a = 1;
double b = 2;

    print(a);
    print(b);

}
复制代码
上面的例子中定义了整数类型的a,和double 类型的 b,打印结果是
flutter: 1
flutter: 2.0
2.String字符串类型
Dart中字符串用单引号 ‘’ 或双引号 “” 来创建,例子如下:
void main() {
var a = “热爱编程”;
var b = ‘哈哈哈哈’;
print(a);
print(b);
}

//输出结果:
//flutter: 热爱编程
//flutter: 哈哈哈哈
复制代码
字符串的格式化
在Dart 中用 ${} 来进行字符串的格式化,例子如下:
void main() {
var a = “热爱编程”;
var b = ‘哈哈哈哈’;
var c = "我们都 ${a + b} ";
print©;
}

//输出结果为
//flutter: 我们都 热爱编程哈哈哈哈
复制代码
上面的例子中字符串 a 和 b 可以用 + 号 直接拼接在一起
在字符串中可以用反斜杠\来进行字符转译
字符串的相关方法使用例子如下:
void main() {
var a = “热爱编程”;
//判断是否为空
print(a.isEmpty);
//字符串的长度
print(a.length);
//字符串的类型
print(a.runtimeType);
}

//输出结果为:
//flutter: false
//flutter: 4
//flutter: String
复制代码
上面例子是字符串的常用方法,isEmpty是判断字符串是否为空,length是求字符串的长度,runtimeType是求字符串的类型。
字符串也是一种集合类型,例子如下:
void main() {
var a = “热爱编程”;
print(a[1]);
}
//输出为:
//flutter: 爱
复制代码

bool布尔类型

Dart中的布尔类型只有 true和false,例子如下:
void main() {
var a = false;
print(a.runtimeType);
}
//输出结果:
//flutter: bool
复制代码
4.List列表类型(数组类型)
用List来定义列表,可以在<>内指定列表元素的数据类型,例子如下:
void main() {
List a = [10,100,1000];
List b = [“热”, “爱”,“编”,“程”];
}
复制代码
上面例子中,尖括号中的类型用来指定元素的数据类型,如果列表指定了元素的数据类型,就只能存放该种数据类型的数据。如果想在列表中存放不同类型的数据,可以将列表中元素的类型用dynamic关键字声明为动态类型的,例子如下:
void main() {
List a = [10,“哈哈哈”,99.9];
}
复制代码
但是在一般开发中我们不需要指定列表的元素类型,因为Dart是可以类型推断的,所以直接使用var进行声明即可,上面的例子一般如下声明:
void main() {
var a = [10,“哈哈哈”,99.9];
}
复制代码
列表中的常用方法的使用例子如下:
void main() {
var a = [10,“哈哈哈”,99.9];
//添加元素
a.add(“ccc”);
//删除一个元素
a.remove(10);
//元素个数
a.length;
//…等等其他方法
}
复制代码

Map字典类型

字典定义使用例子如下:
void main() {
Map<String, dynamic> a = {“name”: “Flutter” , “languge”: “Datr”};
}
复制代码
用Map来定义一个字典,在尖括号内来指定字典的key和value的数据类型,需要主要的是和数组一样,一旦类型被确定,那么就必须要和定义的类型一致否则会报错。
因为 Dart是可以类型推断的,所以上面的例子可以直接用var来定义如下:
void main() {
var a = {“name”: “Flutter” , “languge”: “Datr”};
print(a);
}
//输出为:
//flutter: {name: Flutter, languge: Datr}
复制代码
Map可以通过键来获取,设置,新增值,例子如下:
void main() {
var a = {“name”: “Flutter” , “languge”: “Datr”};
//新增键值对
a[“version”] = “1.1.0”;
//修改键值
a[“name”] = “Swift”;
print(a);
}
//输出结果:
//flutter: {name: Swift, languge: Datr, version: 1.1.0}
复制代码
三、Dart中的运算符
1.算数运算符加"+",减 “-” ,乘"*" ,除"/",取整 “~/”,取模%
"+"是用来做加的运算,除了数字类型外,字符串,列表,字典也支持相加运算,例子如下:
void main() {

  var a = 10 + 20;
  var b = "10"  + "10";
  print(a);
  print(b);

}

//打印结果:
//flutter: 30
//flutter: 1010
复制代码
“~/” 是取整的运算符,例子如下:
void main() {
var a = 15;
var b = a ~/ 4;
print(b);
}
//打印结果:
//flutter: 3
复制代码
再其他运算符与其他编程语言基本一样不做介绍

比较运算符 == ,!= ,> , < , >= ,<=

与其他语言基本一样不做介绍
3.类型运算符 as,is, is!
as是做类型的转换
is是判断是否属于某个类型
is!是判断是否不属于某个类型

??
“??” 是Dart的空条件运算符,就是取默认值的意思,例子如下
void main() {
var a;
var b = a ?? 1;
print(b);
}
//输出结果:
//flutter: 1
复制代码

上面的例子中, 变量a没有赋值所以默认为null,在将a赋值给b的时候因为a是null,所以 通过?? 给把1赋值给了a。
5.级联运算符 “…”
级联运算符可以对某个对象进行连续的操作而不用生成中间变量,例子如下:
例子一
class Person{

func_one(){
  print("Dart语言");
}

 func_two(){
  print("Flutter使用Dart");
 }

}

void main() {
Person()…func_one()…func_two();
}
//打印结果如下:
//flutter: Dart语言
//flutter: Flutter使用Dart
复制代码

点运算符以及“?.”的使用
点运算符用来访问对象的属性或方法,对不确定是否为null的对象可以用“?.”来进行操作,例子如下:
class Person{
var name;
}
void main() {
var p = Person();
print(p?.name);
}

四、 函数
1.函数的一般书写格式:
返回值 函数名称(参数列表){
函数体
}
复制代码
例子如下:
void main() {

int func_add(int a,int b){
  return a + b;
}

var c = func_add(1, 2);
print(c);

}
//打印结果:
//flutter: 3
复制代码
上面例子中main函数是程序的入口, 里面定义了func_add函数
Dart中的all is对象, 所以可以将函数赋值给一个变量或者将函数作为参数,例子如下;
void main() {

int func_add(int a,int b){
  return a + b;
}

var c = func_add;
var d = c(1,2);
print(d);

}
复制代码
Dart语言中在定义函数的时候函数的参数类型和返回值类型都可以省略,Dart语言会根据传入的参数和返回的值来动态推断。例子如下:
void main() {

func_add(a,b){
  return a + b;
}

var c =  func_add(1, 2);
print(c);

}
//打印结果
//flutter: 3
复制代码
如果某个函数的函数体只有一句话可以用箭头函数来定义,例子如下:
void main() {

func_add(a,b) => a + b;

var c =  func_add(1, 2);
print(c);

}
//输出结果:
//flutter: 3
复制代码
2.可选参数的函数定义
名称可选参数函数的一般格式为
返回值类型 函数名称({可选参数列表}){
函数体
}
复制代码
可选参数放在{}号内部,例子如下:
void main() {

func_text({a,b}) {

  if(a != null){
      print(a);
  }

  if(b != null){
     print(b);
  }

 };

 func_text(a: 2);

}
//打印结果
//flutter: 2

上面的例子中定义了函数func_text其中参数 a和b都是可选的,需要注意的是,在调用的时候需要参数名称加:的形式来进行传参数
复制代码
位置可选参数,只需要将可选参数放入中括号即可,例子如下;
void main() {

func_text(a, [b]) {

  if(a != null){
    print(a);
  }

  if(b != null){
   print(b);
  }

};

func_text(2,3);

}
//输出结果
//flutter: 2
//flutter: 3
复制代码
在上面例子中func_text中有两个参数a和b,其中b 是可选的。在调用的时候可以不传。
函数可选的可以给个默认值,如果没有默认值函数中取到的参数值为null,,设置默认值以后如果调用的时候没有传入这个参数,在函数内就会使用默认值,在定义可选参数的时候应该尽量提供一个默认值。
例子如下:
void main() {

  func_text(a, [b = 4]) {

   if(a != null){
      print(a);
    }

    if(b != null){
       print(b);
    }

   };

  func_text(3);

}

//打印如下:
//flutter: 3
//flutter: 4
复制代码
3、匿名函数
Dart中没有名称的函数是匿名函数,匿名函数可以直接赋值给变量,通过变量来调用。例子如下:
void main() {

var a = (b,c){
  return b + c;
};

var d = a(1,2);
print(d);

}
//打印如下:
//flutter: 3
复制代码
在上面的例子中,把匿名函数赋值给了变量a,然后通过a来调用。
五、闭包
闭包是一种特殊的函数。
闭包是定义在函数内部的函数。
闭包能够访问外部方法内的局部变量并持有。
经典例子如下:
void main() {

var  func = a();
func();
func();
func();

}

a(){
int count = 0;

func_count(){
   print(count ++);
}
return func_count;

}
//打印结果:
//flutter: 0
//flutter: 1
//flutter: 2
复制代码
上面例子中, 函数a中的 func_count函数就是闭包,他定义在a函数内,能够访问并持有他外部函数的局部变量count,暂时理解到这里后面会详细说明闭包的使用。

发布了28 篇原创文章 · 获赞 0 · 访问量 907

猜你喜欢

转载自blog.csdn.net/srhgsr/article/details/105499119
今日推荐