我的代码中有一段出现了意外行为。
. . .
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
最佳答案
让我们逐步了解它。
fmt.Println("Error:", err)
如果输出是Error: <nil>
.. 然后你的 err
变量是 nil
.
if err == nil {
return err
}
这是说 ..“如果 err
变量是 nil
(它是 .. 我们在上面建立的)......然后返回 nil
值。
此时..你的函数已经返回..所以它下面的任何东西都不会运行。
也许你指的是这一行?:
if err != nil {
// ^^ NOT equal?
关于debugging - IF 语句下面的代码永远不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28952513/