zoukankan      html  css  js  c++  java
  • [Scala] 语法基础

    概述

    • Spark基于Scala开发
    • 基于jdk
    • 多范式编程语言
      • 面向对象:和java一样
      • 函数式:代码简洁;可读性差,尤其是隐式类 / 函数 / 参数

    运行环境

    • REPL:命令行
    • IDE:Eclipse 或 IDEA

    命令

    • 变量+.+Tab:查看可用函数

    数据类型

    • 没有基本数据类型,任何数据都是对象
    • 定义变量(var)和常量(val)时,可不指定数据类型,Scala会自动进行数据推导

    • Byte:8位有符号数字
    • Short:16位有符号数字
    • Int:32位有符号数字
    • Long:64位有符号数字
    • Char:字符
    • String:字符串
    • Unit:相当于Java中的void
    • Noting:执行过程中产生Exception

    函数

    • 内置函数

    • 自定义函数
      • 没有return语句,函数最后一句话就是函数的返回值

    • 循环
      • s <- list:提取list中的每个元素
    • 求值策略
      • call by value:定义 :,对函数实参求值,且只求一次,如下图中bar函数没用到x也求值
      • call by name:定义:=>,在函数体内部,每次用到时求值,如下图中bar函数没用到y就不求值

          

    参数

    • 默认参数

    • 代名参数
      • 多个默认参数,赋给哪个

    • 可变参数

    懒值

    • 常量如果是lazy的,初始化会被推迟到第一次使用的时候
    • Spark的核心是RDD(数据集合),操作数据集合中的数据需要使用算子(函数、方法)
      • Transformation:延时加载,不触发计算
      • Action:触发计算

    例外

    • try...catch...finally

    数组

    • 定长数组:Array

    • 变长数组:ArrayBuffer

    • 多维数组

    映射

    • <key,value>对,用Map表示

     

    元组

    •  不同数据类型数据的集合

    参考

    https://www.scala-lang.org/files/archive/api/2.11.8/#package

    Scala中的"- >"和" -"以及"=>"

    https://blog.csdn.net/someInNeed/article/details/90047624 

  • 相关阅读:
    asp.net性能的技巧
    『笔记』数学数论(二)
    『笔记』数学数论(五)
    『笔记』数学数论(一)
    『笔记』数学数论(四)
    『笔记』分块与块状数组
    『笔记』矩阵
    『题解』CF28A Bender Problem
    『笔记』数学数论(七)
    『笔记』数学数论(三)
  • 原文地址:https://www.cnblogs.com/cxc1357/p/12983389.html
Copyright © 2011-2022 走看看