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

标签 go

这可以在 python/javascript 中完成:

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

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

在不执行某些条件 block 的情况下,可以在 go 中完成同样的事情吗?到目前为止,我能够做到这一点的唯一方法是使用条件 block ...

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

我认为答案将是“不,这不能完成”,但我想我会问以防万一我错了。这里的例子被简化了。变量 ab 早就可以定义了……

最佳答案

来自 golang FAQ , Go中没有三元检测操作。您可以使用以下方法获得相同的结果:

if expr {
    n = trueVal
} else {
    n = falseVal
}

关于go - go 中的快捷方式分配不包括空值/零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49041845/

相关文章:

使用节流 ("gopkg.in/throttled/throttled.v2") 库时出错

go - aes.NewCipher 返回一个有效 block ,但调用 block.BlockSize() 时出现错误

arrays - Golang-无效的数组绑定(bind)

mysql - 谷歌应用引擎 golang,驱动程序 : bad connection

Golang undefined variable

go - 如何使 rabbitmq 消费者超时?

go - GKE + WebSocket + NodePort 30 秒掉线

parsing - 为什么 time.Parse 不使用时区?

Go 无法推断类型分配 : "non-name on left side of :="

go - 在 golang 中使用 css 选择器解析 html 页面并获取值