美文网首页
dart基础篇--typeof使用疑惑

dart基础篇--typeof使用疑惑

作者: 三棵柚子 | 来源:发表于2019-03-30 16:37 被阅读0次

    前言


    学习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);
    
    运行结果.png

    从图中的运行结果可以看出,说明plusNum 是Add这个函数类型.
    其实我们举的例子很简单,但是如果你们理解,那么在以后的开发中,遇到了就不会觉得很突兀,难以理解了!

    好了,今天和大家分享的东西,就这么多, 东西并不难,只是有时候不太好理解. 特此记录,温故而知新!

    相关文章

      网友评论

          本文标题:dart基础篇--typeof使用疑惑

          本文链接:https://www.haomeiwen.com/subject/xbqsbqtx.html