Golang是否具有相当于Python短路的成语`z = x或y`

时间:2015-12-07 22:32:44

标签: go

在Python z = x or y中可以理解为将z指定为if x is falsey, then y, else x,golang中是否有类似的习惯用法?

具体来说右边的两个变量是字符串,我想分配第一个,如果它是非emtpy,否则第二个。

1 个答案:

答案 0 :(得分:3)

不,你必须使用if / else:

s1, s2 := "", "hello"
var x string

if s1 == "" {
    x = s2
} else {
    x = s1
}