前言
学习dart给我最深的感触是.它既像java一样定义类和方法,又想脚本语言,比如JavaScript那样可以随意定义,因此,如果你对java或者JavaScript语言比较了解的话,你能够很好的去运用它.
当然它还带了点一些C语言的知识, 比如,可以使用typeof
关键词, 曾经在学习C语言的时候,常常会看到它.但是后来又不常用,就有所忘记,特此记录.可以温故知新.
typeof
从英文翻译的意思是 类型.其实可以说成是等同于某种类型.
举例1. 声明一个简单类型
比如 :
typeof int add; //那么此时add表示的是它是一个可以声明int的类型.
举个例子
我需要声明一个变量temp是int类型,我们常常是这样写的
int temp =0; //假设temp 给它赋值是0
那么同样,我也可以这样写
typeof int add;
add temp =0; //这样写其实也是可以的.
有的人也许会问了,为什么你要这样定义呢?这岂不是很麻烦?我明明有这个int类型我干嘛还要去定义这样一个类型?
有句话肯定很好给你解释, 存在即是合理.我们下面举个例子 ,让你体会下.
举例2.声明一个特殊类型(如方法类型)
我定义一个这样的类型
typeof int Add(int a, int b);
那么这个定义的应该怎么解释呢?!
声明 Add是一个带有两个int参数并且返回值是int类型的函数类型.
这个怎么理解呢 ?我们举个非常通俗的例子,
比如说, 我们通常一个具有机箱,主板,CPU,内存条,风扇等等的东西叫做主机,那么主机就像是一个类型, 你肯并不会每次对别人介绍时,说 这是一个主机,主机里面有机箱,主板,内存条,CPU等等,只有别人去关注的时候,你会详细的告诉他,里面的构造是什么. 不知道这个例子是否能够让你有所领悟呢?
其实做程序,干开发,做的越久,你会发现,其实程序世界并不是那么抽象,有些东西还是可以和现实中进行一一对应的,比如 java的设计模式, 比如程序语言的设计 ,我们刚刚说的typeof
就是这样.
typeof
就像是具有修饰特性的词语一样,指定某一类东西的类型.
说了这么多,其实我们还没有说如何去使用它呢?
那么,我们从现实中找例子去理解,就好比我们如何判断一个物品,是不是主机呢?(我们就拿主机说事).
我们可以去注意它的一些特别和属性,在程序中,其实也是一样的. 我们需要注意一个对象或者一个值,是否是哪个类型, 第一,对照返回值, 第一对照它的参数个数和参数的类型,如果两者都f符合,那么我们就能确定它是我们说的那个类型.下面我们举个例子看下!!!
void main() {
print(plusNum is Add);
}
int plusNum(int x, int y) {
return x + y;
}
typedef int Add(int a, int b);
从图中的运行结果可以看出,说明plusNum 是Add这个函数类型.
其实我们举的例子很简单,但是如果你们理解,那么在以后的开发中,遇到了就不会觉得很突兀,难以理解了!
好了,今天和大家分享的东西,就这么多, 东西并不难,只是有时候不太好理解. 特此记录,温故而知新!