在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”)
你好