go中的快捷方式分配不包括空/零值

问题描述 投票:-2回答:1

这可以在python / javascript中完成:

# Python:
a = ""
b = "test"
c = a or b # test

// javascript
a = "";
b = "test";
c = a || b; // test

可以在没有做一些条件块的情况下完成同样的工作吗?到目前为止,我能够做到这一点的唯一方法是使用条件块...

a := ""
b := "test"
var c
if a {
    c = a
} else {
    c = b
}

我认为答案是“不,这不能做”,但我想我会问以防万一我错了。这里的例子是简化的。变量ab很久以前就已经定义了......

go
1个回答
1
投票

来自golang FAQThere is no ternary testing operation in Go. You may use the following to achieve the same result:

if expr {
    n = trueVal
} else {
    n = falseVal
}
© www.soinside.com 2019 - 2024. All rights reserved.