zoukankan      html  css  js  c++  java
  • dart快速入门教程 (2)

    2.变量和数据类型

    2.1.变量和常量

    变量通俗的说就是可以变化的量,作用就是用来存储数据,你可以把一个变量看作是一个水果篮,里面可以装苹果、梨、香蕉等,常量就是一个固定的值,和变量是相对的,变量可以变化,常量是不可以变化的

    1.声明变量

    在dart中使用var来声明一个变量,这个和js中声明变量一样

    void main() {
      var num = 10;
      print(num);  // 10
    }
    

    注意:没有给变量赋值的时候,默认为null

    void main() {
      var num;
      print(num);  // null
    }
    

    可以使用final关键字声明一个只能被赋值一次的变量

    void main() {
      final num = 10;
      print(num);
      // num = 30; 
      // print(num);  // 把这两行注释打开会报错
    }
    

    2.常量声明

    常量声明需要使用const关键字,这个和es6中的const类似

    void main() {
      const num = 10;
      print(num);
      num = 30; // 报错
    }
    

    3.final和const的区别

    2.2.数据类型

    dart中提供的数据类型有以下几种:

    1. 数字类型-numbber  2. 字符串类型-string
    3. 布尔类型-Boolean 4. 列表-list
    5. Map      6. Runes
    7、Symbols
    

    1.数字类型(number)

    数值型包括整型(int)和浮点型(double),定义变量的时候可以规定类型

    void main() {
      // num是整型和浮点型的总称, 这个时候变量a里面既可以存整型也可以存浮点型
      num a = 20;
      print(a);
      a = 20.5;
      print(a);
    }
    
    void main() {
      // int表示定义整型,这个时候里面不能存浮点型
      int a = 20;
      print(a);
      a = 20.5; // 报错
      print(a);
    }
    
    void main() {
      double a = 20.5;
      print(a);
      a = 20;  // 没报错
      print(a);  // 20.0
    }
    

    2.字符串类型(String)

    定义字符串可以有多种方式,包括单引号、双引号、三引号、原始字符串等

    void main() {
      // 单引号形式
      String str1 = 'hello nodeing!!';
      // 双引号形式
      String str2 = "hello nodeing!!!";
      // 三引号形式,可以创建多行字符串
      String str3 = '''
        <div>
          <h1>hello nodeing!!</h1>
        </div>
      ''';
      // 定义原始字符串
      String str4 = r'hello 
     nodeing!!!';
      // 没有使用原始字符串定义
      String str5 = 'hello 
     nodeing!!!';
     print(str1);
     print(str2);
     print(str3);
     print(str4);
     print(str5);
    }
    

    上面代码中需要注意的是,str5因为没有使用原始字符串定义,所以 会被当成是回车换行

    3.布尔类型(Boolean)

    布尔类型非常简单,只有两个值,true和false

    void main() {
      bool a = true;
      bool b = false;
      print(a);
      print(b);
    }
    

    4.list列表

    list和js中的数组类似,长得都是一样的

    void main() {
      // 创建一个list
      var lis = [1, 2, 3];
      print(lis);
      // 通过类的方式创建
      var lis2 = new List();
      print(lis2);
      // 创建一个不可变的列表
      var lis3 = const [1, 2, 3];
      lis3[0] = 2; // 报错
    }
    

    5.Map类型

    Map类型就是一些键值对

    void main() {
      // 创建一个list
      var mp = {'name': 'xiaoqiang', 'age': 18};
      print(mp);
      // 通过类的方式创建
      var mp2 = new Map();
      print(mp2);
      // 创建一个不可变的Map
      var mp3 = const {'name': 'xiaosan', 'age': 30};
      // 获取值
      print(mp3['name']);
      mp3['name'] = 'xiaosi'; // 报错
    }
    

    螺钉课堂视频课程地址:http://edu.nodeing.com

  • 相关阅读:
    js正则
    【zookeeper】zookeeper 集群搭建
    【zookeeper】linux zookeeper的安装步骤
    【ActiveMQ】ActiveMQ之JDBC消息存储安装配置
    【数据库】Cannot create PoolableConnectionFactory (null, message from server: "Host 'xxxxx' isnot allow
    【ActiveMQ】Failed to bind to server socket: nio://0.0.0.0:61616 due to: java.net.BindException:
    【微服务】Springboot和ActiveMQ整合出现 Could not resolve placeholder 'xxx' in value "${xxx}"
    【ActiveMQ】记录一次activemq与jdk版本冲突问题
    【ActiveMq】linux ActiveMq安装
    【springcloud】Could not resolve type alias 'Dept'. Cause: java.lang.ClassNotFoundException
  • 原文地址:https://www.cnblogs.com/dadifeihong/p/12047501.html
Copyright © 2011-2022 走看看