Hello world
def main():
print('Hello Python')
main()
object Hello {
def main(args: Array[String]): Unit = {
println("Hello Scala")
}
}
赋值
variate = '变量'
CONSTANT = '常量'
var variate : String = "变量"
val CONSTANT : String = "常量"
数据类型
常用数据类型 | 说明 |
---|---|
Any | 其它类的超类 |
AnyRef | 所有引用类(reference class)的基类 |
String | 字符序列 |
Char | 16位无符号Unicode字符,区间值为U+0000 到U+FFFF |
Double | 双精度浮点数 |
Float | 单精度浮点数 |
Long | 64位有符号补码整数 |
Int | 32位有符号补码整数:-2147483648 到2147483647 |
Short | 16位有符号补码整数:-32768 到32767 |
Byte | 8位有符号补码整数:-128 到127 |
Boolean | true 或false |
Unit | 表示无值,用在不返回结果的方法,等同Java 的void 。打印显示() |
Null | 只有一个实例null |
Nothing | Scala的类层级的最底端,是其它类的子类 |
类型判断和强转
# 类型判断
isinstance('abc', str)
isinstance({'b': 2}, dict)
# 类型强转
float(2)
// 类型判断
"abc".isInstanceOf[String]
Map("b"->2).isInstanceOf[Map[String,Int]]
// 类型强转
2.asInstanceOf[Float]
字符串
AGE = 18
sql = """
SELECT * FROM tb WHERE age > {age}
""".format(age=AGE)
val AGE = 18
val sql: String =
s"""
|SELECT * FROM tb WHERE age > ${AGE}
|""".stripMargin
正则表达式
https://blog.csdn.net/Yellow_python/article/details/114695017
import re
t = 'bird+man=bird_man 01-01 12-31'
p1 = re.compile('([0-9]+)-([0-9]+)')
p2 = re.compile('[a-z]+_[a-z]+')
p3 = re.compile(r'\W+')
print(p1.findall(t))
print(p2.sub('***', t))
print(p3.split(t))
打印结果
[('01', '01'), ('12', '31')]
bird+man=*** 01-01 12-31
['bird', 'man', 'bird_man', '01', '01', '12', '31']
import scala.util.matching.Regex
val t : String = "bird+man=bird_man 01-01 12-31"
val p1: Regex = "([0-9]+)-([0-9]+)".r
val p2: Regex = "[a-z]+_[a-z]+".r
val p3: Regex = new Regex("\\W")
println(p1.findAllIn(t).toList)
println(p2.replaceAllIn(t, "***"))
println(p3.split(t).toList)
打印结果
List(01-01, 12-31)
bird+man=*** 01-01 12-31
List(bird, man, bird_man, 01, 01, 12, 31)
方法和函数
https://yellow520.blog.csdn.net/article/details/117031129
流程控制
https://blog.csdn.net/Yellow_python/article/details/117001055
异常:try
https://yellow520.blog.csdn.net/article/details/114661078
try:
a = 10 / 0
except ZeroDivisionError as e:
print(e)
try {
var a = 10 / 0
} catch {
case e: ArithmeticException => {
println(e)
}
}
面向对象
https://yellow520.blog.csdn.net/article/details/112858819
附录
en | 🔉 | cn |
---|---|---|
define | /dɪˈfaɪn/ | vt. 定义 |
lambda | /ˈlæmdə/ | 希腊字母的第11个: λ \lambda λ |
variate | /ˈverɪeɪt/ | 变量 |
constant | /ˈkɑːnstənt/ | 常量 |
division | /dɪˈvɪʒn/ | 除法 |
arithmetic | /əˈrɪθmətɪk/ | 算术,算法 |
abstract | /ˈæbstrækt/ | adj. 抽象的;n. 摘要 |
implement | /ˈɪmpləˌment/ | vt. 实施;实现;n. 工具 |
implemented | /ˈɪmplɪmentɪd/ | 应用的 |
meta | /ˈmetə/ | pref. 表示“变化”“变换”之义 |
metaclass | 元类 | |
metadata | 元数据 | |
ride | /raɪd/ | v. 骑(自行车、马等) |
override | /ˌoʊvərˈraɪd/ | vt. 推翻 |
singleton | /ˈsɪŋɡltən/ | 单生子女;单身的人 |
instance | /ˈɪnstəns/ | 实例 |
mutable | /ˈmjuːtəbl/ | 可变的 |
immutable | /ɪˈmjuːtəbl/ | 不可变的 |
extend | /ɪkˈstend/ | v 延伸 |
trait | /treɪt/ | 特性;品质 |
property | /ˈprɑːpərti/ | 性质;财产;所有权 |