在第一个代码示例中,我收到“if pr != nil”行的错误:
for sup, _ := range supervisorToColor {
pr := emailToPerson[sup]
// The line below causes the compilation error:
// ./myprog.go:1046: missing condition in if statement
// ./myprog.go:1046: pr != nil evaluated but not used
if pr != nil
{
local := peopleOnFloor[pr.Email]
sp := &Super{pr, local}
names = append(names, sp)
}
}
如果我注释掉 nil check if 语句,它编译得很好:
for sup, _ := range supervisorToColor {
pr := emailToPerson[sup]
// if pr != nil
// {
local := peopleOnFloor[pr.Email]
sp := &Super{pr, local}
names = append(names, sp)
// }
}
起初我倾向于认为这是代码早期的一些语法错误,但是当我注释掉这些行时它起作用的事实让我认为它是别的东西。
emailToPerson 是 map[string]*Person 类型,其中 Person 是一个结构体
提前致谢。如果事实证明这是非常简单的事情,我们深表歉意。
慕桂英3389331
相关分类