由if语句多次赋值 [英] Multiple assignment by if statement
本文介绍了由if语句多次赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有可能通过if条件执行多个赋值,如下面的代码所示:
It is possible to execute multiple assignment by if condition, like the following code?
func SendEmail(url, email string) (string, error) {
genUri := buildUri()
if err := setRedisIdentity(genUri, email); err != nil; genUrl, err := buildActivateUrl(url, genUri); {
return "", err
}
return "test", nil
}
推荐答案
不。根据规范,在if语句的开头只允许有一个简单语句。
No. Only one 'simple statement' is permitted at the beginning of an if-statement, per the spec.
建议的方法是多个测试可能会返回一个错误,所以我想你想要的东西类似:
The recommended approach is multiple tests which might return an error, so I think you want something like:
func SendEmail(url, email string) (string, error) {
genUri := buildUri()
if err := setRedisIdentity(genUri, email); err != nil {
return "", err
}
if genUrl, err := buildActivateUrl(url, genUri); err != nil {
return "", err
}
return "test", nil
}
这篇关于由if语句多次赋值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文