在Scala中,val a=”之间的区别是什么;“你好,世界”;和val a=println(“Hello World”)

在Scala中,val a=”之间的区别是什么;“你好,世界”;和val a=println(“Hello World”),scala,read-eval-print-loop,println,Scala,Read Eval Print Loop,Println,为什么a:Unit()会出现?我们已将一些值赋给val a 但是如果我们真的喜欢 val a=“Hello World”它只显示 a:String=Hello World 在这里,我们将一些字符串赋给val a。因此,这是非常重要的 在第一个函数中,调用内置函数println(),它有一些值,并返回该值。是吗 那么为什么会出现a:Unit() a:Unit()的意思是-它可以返回任何东西 如果您使用C或Java,单元类型类似于void,那么您刚才给出的两个示例之间的区别在于println不返回任

为什么
a:Unit()
会出现?我们已将一些值赋给
val a

但是如果我们真的喜欢

val a=“Hello World”
它只显示

a:String=Hello World

在这里,我们将一些字符串赋给val a。因此,这是非常重要的

在第一个函数中,调用内置函数println(),它有一些值,并返回该值。是吗

那么为什么会出现
a:Unit()


a:Unit()
的意思是-它可以返回任何东西

如果您使用C或Java,单元类型类似于void,那么您刚才给出的两个示例之间的区别在于
println
不返回任何内容,在Scala中,返回类型由最后执行的操作给出。如果继续执行
println
函数,则会得到java定义:

scala> val a = println("Hello World")
Hello World
a: Unit = ()
如前所述,其类型为
void

单位收益类型的其他示例包括:

public void println(Object paramObject)

如果您使用C或Java,单元类型类似于void,那么您刚才给出的两个示例之间的区别在于
println
不返回任何内容,在Scala中,返回类型由最后执行的操作给出。如果继续执行
println
函数,则会得到java定义:

scala> val a = println("Hello World")
Hello World
a: Unit = ()
如前所述,其类型为
void

单位收益类型的其他示例包括:

public void println(Object paramObject)

Scala包含一个名为Unit的特殊类型(它的类型同义词也是()),类似于Java的void,它表示没有返回值。println函数将其参数打印到默认输出设备(stdout),并且不返回任何内容

现在,如果在输入中赋值,repl将打印每个已定义变量的值,例如:

val someInt = 12 // Int
val someLong = 10L // Long
val someList = List("123", "456") // List[String]

在本例中,您为println的返回值指定了一个值,这是前面提到的单位。换句话说,“Hello World”是println的一种用法,而a:Unit=()是在repl中执行赋值的结果。

Scala包含一个名为Unit的特殊类型(它的类型同义词也是()),类似于Java的void,它表示没有返回值。println函数将其参数打印到默认输出设备(stdout),并且不返回任何内容

现在,如果在输入中赋值,repl将打印每个已定义变量的值,例如:

val someInt = 12 // Int
val someLong = 10L // Long
val someList = List("123", "456") // List[String]

在本例中,您为println的返回值指定了一个值,这是前面提到的单位。换句话说,“Hello World”是println的一种用法,而a:Unit=()是在repl中执行赋值的结果。

在scala中,没有过程,只有函数

该程序是带有返回式装置的函数

请参见Martin Odersky/的幻灯片45

虽然当你写作的时候

scala> val x = 5; val y = 1;
x: Int = 5
y: Int = 1
它在内部扩展为

val a = println("Hi")
它就像一个匿名版本的

val a = { println("Hi") }
删除了所有“糖”的完整版本的x()

def x() { println("Hi") }
val a = x()
单位值在scala控制台中压缩为()

因此,当您编写“精简版”时,您有:

def x():Unit = { println("Hi") }
val a=println(“Hi”)

嗨在scala中没有程序,只有函数

该程序是带有返回式装置的函数

请参见Martin Odersky/的幻灯片45

虽然当你写作的时候

scala> val x = 5; val y = 1;
x: Int = 5
y: Int = 1
它在内部扩展为

val a = println("Hi")
它就像一个匿名版本的

val a = { println("Hi") }
删除了所有“糖”的完整版本的x()

def x() { println("Hi") }
val a = x()
单位值在scala控制台中压缩为()

因此,当您编写“精简版”时,您有:

def x():Unit = { println("Hi") }
val a=println(“Hi”)
你好