package com.mengyao.scala.function

/**
 * Scala的变量声明和使用(可变类型和值类型)
 *
 * @author mengyao
 */
object Test0 {
 
  /**
   * Scala中的数据类型定义如下
   * @inline implicit def byteWrapper(x: Byte)       = new runtime.RichByte(x)
   * @inline implicit def shortWrapper(x: Short)     = new runtime.RichShort(x)
   * @inline implicit def intWrapper(x: Int)         = new runtime.RichInt(x)
   * @inline implicit def charWrapper(c: Char)       = new runtime.RichChar(c)
   * @inline implicit def longWrapper(x: Long)       = new runtime.RichLong(x)
   * @inline implicit def floatWrapper(x: Float)     = new runtime.RichFloat(x)
   * @inline implicit def doubleWrapper(x: Double)   = new runtime.RichDouble(x)
   * @inline implicit def booleanWrapper(x: Boolean) = new runtime.RichBoolean(x)
   *
   * Byte     8bit的有符号数字,范围在-128 -- 127
   * Short    16 bit有符号数字,范围在-32768 -- 32767
   * Int      32 bit 有符号数字,范围 -2147483648 到 2147483647
   * Long     64 bit 有符号数字,范围-9223372036854775808 到 9223372036854775807
   * Float    32 bit IEEE 754 单精度浮点数
   * Double   64 bit IEEE 754 双精度浮点数
   * Char     16 bit Unicode字符. 范围  U+0000 到 U+FFFF
   * String   字符串
   * Boolean  布尔类型
   * Unit     表示无值,和其他语言中void等同
   * Null     空值或者空引用
   * Nothing  所有其他类型的字类型,表示没有值
   * Any      所有类型的超类,任何实例都属于Any类型
   * AnyRef   所有引用类型的超类
   *
   */
 
  def main(args:Array[String]){
    
    //变量
    var a = 10
    println(a)
    
    //常量
    val b = "hello "+a;
    println(b)
    
    //获取最大值
    val c = Math.max(3, 1);
    println(c)
   
    //懒加载,在第一次使用时被初始化。没有用到时值为<lazy>
    lazy val d = "a"//在命令行中声明此变量,回车时显示d: String = <lazy>
    println(d)
   
  }
 
}

Scala-变量、常量和懒加载的更多相关文章

  1. lazy-init 懒加载的艺术

    懒加载是一种加载方式,加载单例对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载.懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景. ...

  2. ios 懒加载详解

    iOS开发之懒加载 在iOS开发中几乎经常用到懒加载技术,比如我们存放网络数据的数组,控制器的view,控件的自定义,复杂的运算逻辑等等情况下都会用到懒加载技术,那么什么是懒加载呢?? 他又有什么样的 ...

  3. Scala函数式编程(六) 懒加载与Stream

    前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结 ...

  4. Swift 学习一函数&函数属性&懒加载

    函数 函数相当于OC中的方法 格式: func 函数名(参数列表) -> 返回值类型 {    代码块    return 返回值} func 函数名(参数列表){  // 返回值为Void 可 ...

  5. Swift语法基础入门四(构造函数, 懒加载)

    Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...

  6. vuex存取token,http简单封装、模拟登入权限校验操作、路由懒加载的几种方式、vue单页设置title

    1.config index.js下面的跨域代理设置: proxyTable: { '/api': { target: 'http://xxxx', //要访问的后端接口 changeOrigin: ...

  7. SpringBoot JPA懒加载异常 - com.fasterxml.jackson.databind.JsonMappingException: could not initialize proxy

    问题与分析 某日忽然发现在用postman测试数据时报错如下: com.fasterxml.jackson.databind.JsonMappingException: could not initi ...

  8. 懒加载(getter\setter理解)

    为什么要用懒加载 1.首先看一下程序启动过程:(如图) 会有一个mian的设置,程序一启动会加载main.storyboard main.storyboard又会加载箭头所指的控制器 控制器一旦加载, ...

  9. 【转】实现ViewPager懒加载的三种方法

    方法一 在Fragment可见时请求数据.此方案仍预加载了前后的页面,但是没有请求数据,只有进入到当前Framgent时才请求数据. 优点:实现了数据的懒加载缺点:一次仍是三个Framgment对象, ...

随机推荐

  1. vector容器经常用法

    容器简单介绍 定义及初始化 末尾插入元素 遍历 size 函数是能够动态添加的 通过下标操作添加改变vector内容不是安全的操作 仅能对已存在元素进行下标操作不存在会crash 将元素一个容器复制给 ...

  2. Jetty开发指导:框架

    Spring设置 你能嵌入Jetty到你的项目中,也能够使用差点儿全部的IoC类型框架,包含Spring.假设全部你想做的是在你的Spring中设置Jetty Server,那么以下的xml片段能够作 ...

  3. 配置WifiConfiguration

    public WifiConfiguration CreateWifiInfo(String SSID, String Password, int Type) { WifiConfiguration  ...

  4. PHP的魔术方法(简介)

    public void _set(string $name,mixed $value) public mixed _get(string $name) public bool _isset(strin ...

  5. 11-C#反射机制

    C#反射机制 转自:http://blog.csdn.net/educast/article/details/2894892 反射的用途:    (1)使用Assembly定义和加载程序集,加载在程序 ...

  6. ASP.NET协作应用集成到trsids身份验证服务器的开发流程

    开发Actor协同模块: (参考TRSIDS4.0 协作应用集成手册[asp.net]) ASP.Net协作应用集成到IDS之前,需要开发Actor类实现协作应用回调接口中定义的本地登录.退出.用户信 ...

  7. 沙盒操作的核心函数 - NSSearchPathForDirectoriesInDomains用法

    1. iPhone会为每一个应用程序生成一个私有目录,这个目录位于: /Users/sundfsun2009/Library/Application Support/iPhone Simulator/ ...

  8. IOS静态库和Framework区别

    一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系 ...

  9. (四 )Knockout - ViewModel 的使用3 - 对象属性变化的实时更新

    ko.observableArray()就可以自动检测属性,其实他只是监控对象,而不是对象中的属性 使用ko.observable()进行处理 DEMO1 实时更新属性 //定义user数据对象 va ...

  10. 请写一个C函数,判断处理器是大端存储还是小端存储,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1

    [解答] int checkCPU() { { union w { int a; char b; }c; c.a=1; return (c.b==1); } } [剖析] 嵌入式系统开发者应该对Lit ...