首页 > 其他 > 详细

[Scala] 语法基础

时间:2020-06-01 22:16:50      阅读:45      评论:0      收藏:0      [点我收藏+]

概述

  • 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://www.cnblogs.com/cxc1357/p/12983389.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!