所以我在Go语言上观看了这个视频 - https://www.youtube.com/watch?v=p9VUCp98ay4,并且在6:50左右,一个人问一个关于他们为什么实现的问题,如果是语句而不是表达式。这两个实现有什么区别?据我所知,我从来没有必要改变我使用基于语言的条件的方式。
编辑:他的问题是什么意思“你需要价值而不是变数”?
答案 0 :(得分:10)
表达式和语句之间的区别在于表达式生成一个值,因此可以在需要值的位置使用。因此,表达式可以用作变量的值,函数的参数或运算符的操作数。声明不能。
他的意思是什么"你需要价值而不是变量"在他的问题?
我假设val表示常量(例如Scala中称为val
)。
如果if
是表达式,您可以这样做:
const myValue = if condition { value1 } else { value2 }
实际上,你必须这样做:
var myValue
if condition {
myValue = value1
} else {
myValue = value2
}
所以你需要让你的变量变得可变(使用var
而不是const
),这就是问这个问题的人可能意味着什么。