[Spark] Scala programming - basic level
2024-09-04 12:58:16
环境配置
IDE: https://www.jetbrains.com/idea/
/* implement */
语言特性
Online compiler: https://scastie.scala-lang.org/
只记录 “不太一样” 的特性。
一、常量变量
常量 val, 变量 var。
二、循环
var name = "hello"
for (n <- name)
{
println(n)
}
嵌套循环,遍历数字和数组元素。
def main(args: Array[String]): Unit = { for (a <- 1 to 10) {
for (b <- 1 to 10) {
if (a == b) {
println("a = " + a + ", b = " + b)
}
}
}
//嵌套循环的等价新写法
for (a <- 1 to 10; b <- 1 to 10 if a == b) {
...
}
val arr = Array[Int](1,2,3,4,5)
for(elem <- arr) {
println(elem1)
}
}
until 则不包括最后一个元素。
val arr = Array[Int](1,2,3,4,5)
val arr1 = new Array[Int](arr.length)
for (index <- 0 until arr.length) {
arr1(index) = arr(index) + 10
} println(arr1.toBuffer)
类似与lambda的写法。
val arr = Array[Int](1,2,3,4,5)
val ret = for (a <- arr) yield a + 10
println(ret.toBuffer)
三、条件赋值
支持混合表达。
def main(args: Array[String]): Unit = { val x = 1
val y = if (x > 0) 1 else -1
println(y) val m = if (x > 2) 1
println(m) val n = if (x > 2) 1 else ()
println(n) val k = if (x < 0) 0 else if (x >= 1) 1 else -1
print(k)
}
四、函数
def ml(a: Int, b: Int): Unit = {
println("hello, " + (a+b))
} def main(args: Array[String]): Unit = {
// 1.匿名函数
val f1 = (a:Int, b: Int) => a + b
println(f1(10, 20)) // 2.普通函数
ml(10,20) }
/* implement */
最新文章
- C/C++内存泄露探测
- wchar_t内置还是别名?小问题一则(升级公司以前代码遇到的问题)
- LCT模板
- 【转】Linux网络编程入门
- (转)dedecms [field:array runphp=&#39;yes&#39;]标签使用技巧
- jQuery File Upload blueimp with struts2 简单试用
- tcpdump参数及使用介绍(转)
- javascript中字符串常用操作整理
- git 基本用法
- iOS APP中Versions和build版本区别
- js___原生js轮播
- python—迭代器、生成器
- U-Boot bootargs简析
- selenium3环境搭建以及各浏览器驱动的使用方法
- Advertising.csv
- [cb]扩展Hierarchy 添加二级菜单
- 数据挖掘(二)用python实现数据探索:汇总统计和可视化
- iOS APP 安全测试
- drf 认证、权限、限流、过滤、排序、分页器
- Linux SSH远程文件/文件夹传输命令scp