val sql =
|select *
|from
| student
|where
| age > 18 and age < 25
""".stripMargin
println(sql)
常量:final int a = 100; (final 类 太监类 不能有子类)
scala :
变量:var a : Int = 10 ; a = 20(重新赋值)
(可不指定类型,赋值后会进行类型推导)
常量:val b : Int = 100
(注:在scala中,能用常量的地方不要用变量)
(注:必须在声明的同时给变量和常量赋
②如果变量的类型可以通过变量值推断出来,那么可以省略变量类型:
object Variable {
def main(args : Array[String]) : Unit = {
//声明变量的语法:var
2、字符串通过 % 传值。
3、字符串通过$引用。package DataStructureAndAlgorithm/**
* Created by Administrator on 2017/12/23.
*/case class BookPrint(name: String, author: String)
object Test1ScalaP
val age = 16
//字符串拼接操作
println("name = " + name +".age = age") //name = lilei.age = age
//*号将一个字符串多次输出
println(name * 3) //lileilileililei
//printf
Scala语言为了让函数字面量更加精简,还可以使用下划线作为占位符,用来表示一个或多个参数。
我们用来表示的参数必须满足只在函数字面量中出现一次。
我们用例子来看占位符的用法
scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)
scala> list.filter( _ >...
object Main {
case class Log(key1:String,key2:String,URL:String,id:String,name:String,ex:String){
def toString1(){
println(s"{key1:$key1,key2:$key2,URL:$URL,id:$id,name:$name,ex:$ex}")
printf("{key1:%s,key2:%s,URL:%s,id:%s,name:%s..
在上面的实例中,用到了Scala占位符(_ ),若读者对Scala占位符还不甚了解,可以参考学习以下七个Scala占位符的常见用法:
(1) import 导入包的所有成员,相当于Java的*,如import scala.math._。比Java方便的一点是它可以导 入某个类下的所有静态成员,Java则需要import static。
(2)占位符,表示某一个参数,这个用法比较多。比如对collection、sequence 或者本章所学的RDD调用方法map、filter、sortWith、 fore
依照这个函数字面量在运行时创建的函数值被称为闭包(closure)。名称源于通过捕获自由变量的绑定,从而对函数字面量执行的关闭行动。
def filesMatching(query: String,
matcher: (String, String) =&g...