IF 语句下面的代码永远不会执行

我的代码中有一部分具有意外行为。


. . .

fmt.Println("Error:", err)

if err == nil {

    return err

}

fmt.Println("Done category")

. . .

上面的部分有以下输出


Error: <nil>

if 语句下面的代码永远不会执行。如果我删除 if 语句,代码会按预期运行。


参考:https : //github.com/skarllot/flogviewer/blob/master/wlog/parser.go#L138


largeQ
浏览 222回答 1
1回答

繁星点点滴滴

让我们一步一步来。fmt.Println("Error:", err)如果输出是Error: <nil>.. 那么你的err变量是nil.if err == nil {&nbsp; &nbsp; return err}这是说..“如果err变量是nil(它是..我们在上面确定的)......然后返回nil值。此时..你的函数已经返回..所以它下面的任何东西都不会运行。也许你的意思是这条线?:if err != nil {//&nbsp; &nbsp; &nbsp;^^ NOT equal?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go