如何在Golang中简化
var planningDate string
date, ok := data["planningDate"]
if !ok {
planningDate = util.TimeStamp()
} else {
planningDate = date
}
感谢名单
答案 0 :(得分:3)
我认为没有办法在一行中执行此操作,因为Go中没有ternary operator。您不能使用|
,因为操作数不是数字。但是,这里有三行解决方案(假设date
只是一个临时变量):
planningDate, ok := data["planningDate"]
if !ok {
planningDate = util.TimeStamp()
}
答案 1 :(得分:2)
您可以执行以下操作:
func T(exp bool, a, b interface{}) interface{} {
if exp {
return a
}
return b
}
并随时使用它,就像三元运算符一样:
planningDate = T((ok), date, util.TimeStamp())