zoukankan      html  css  js  c++  java
  • scala 基础

    • 与 Java/c++ 不同的是,scala 并未提供 ++ 和 – 操作符;
    • 不带参数的 scala 方法通常不使用圆括号;

      scala> "hello".distinct
      String = helo

    1. 数值类型转换:用(成员)方法而不是强制类型转换

    scala> 99.4.toInt(不需加括号)
    Int = 99
    scala> 99.4.toInt.toChar
    Char = c
    scala> "99.4".toDouble
    Double = 99.4

    2. (成员)方法,还是(成员)方法

    • a+b 其实是 a.+(b),之所以能识别 .+,显然内部实现了运算符重载;

      通常来说,可以用 a 方法 b 来简写 a.方法(b),省去了点,也省去了小括号。

      scala> 1.to(10)
      scala.collection.immutable.Range.Inclusive = Range 1 to 10
      scala> 1 to 10
      scala.collection.immutable.Range.Inclusive = Range 1 to 10

    3. apply

    • 使用“类名()”的形式,其实就是“类名.apply()”的一种缩写,以这种方式来构造对象,而不是使用“new 类名()”的方式
      • Array(1, 2, 3, 4)
    • “hello World”(6),在 StringOps 类中有 def apply(n: Int): Char 的函数定义,”Hello World”(6) 其实是 “Hello World”.apply(6) 的缩写,也即提取其第六个字符;

    4. scaladoc

    • 可以在线浏览,也可以下载到本地,以 html 的方式就行查阅;

    如何找到符合自己 scala 版本的 api,可通过如下方式:

    Where to download the latest Scala API documentation?

  • 相关阅读:
    proto 在c++ 和c# 的使用。
    socket 2.草稿。
    unix 基本操作。
    tcp ip 草稿。
    并发,互斥,锁。草稿
    二叉顺序树。
    单链表。
    s数据结构,算法,算法时间复杂度
    c++11 function bind 测试。
    [汇编语言]-第三章寄存器(内存访问)
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421244.html
Copyright © 2011-2022 走看看