如何在Swift中创建一个优雅的guard/return语句来提供输出?

Jos*_*Mum 1 return guard ios swift

例如,这有效:

guard condition == true else { return }
Run Code Online (Sandbox Code Playgroud)

哪个好,但会造成无声的失败.什么是好的是有一个静态功能,可以输出反馈,同时也返回.就像是:

guard condition == true else { stop("condition was false") }
Run Code Online (Sandbox Code Playgroud)

我在这里生活在梦乡还是可能?

当然,我认识到以下是可能的:

guard condition == true else { 
    print("condition was false")
    return
}
Run Code Online (Sandbox Code Playgroud)

但样板很重,有点难看.我到处都有警卫声明,这种代码是:1.有用; 但是2.会将我的代码批量化,例如,最低10%.

我知道这是我的乌托邦,但我更喜欢优雅的解决方案.任何人?

iel*_*ani 5

使用precondition而不是guard:

func test() {
    precondition(yourCondition, "This is an error message")
    //rest of your function
}
Run Code Online (Sandbox Code Playgroud)

如果yourCondition为false,则将退出范围并将打印错误消息.