三种车辆类型是Car,Motorcycle和Bicycle。三种状态是Available,Reserved和Sold。
我想打印所有不是 Car 和不是的车辆的信息,即不应 Sold打印已售出的汽车。换句话说,打印所有Motorcycle或的信息,具有,和Bicycle之间的任何状态。如果是 a ,只要它是or就仍然打印。AvailableReservedSoldCarAvailableReserved
这些车辆是:
汽车 - 已售出
汽车 - 可用
汽车 - 预留
自行车 - 已售
自行车 - 可用
自行车 - 预留
摩托车 - 已售
摩托车 - 可用
摩托车 - 预留
我希望下面的代码打印除数字 1 之外的所有内容(汽车 - 已售出)
我的代码:
for _, v := range results {
if v.Type != "Car" && v.Status != "Sold" { // && does not work but || works
resp = append(resp, &VehicleInfo {
ID: v.Id,
Brand: v.Brand,
Type: v.Type,
Status: v.Sold,
})
}
}
fmt.Println(resp)
当我使用 时AND (&&),Println结果很奇怪,它输出 5、6、8、9。但是,当我切换到 时OR (||),它打印的正是我想要的,除了 1(已售汽车)之外的所有内容,它是所有Motorcycle(任何状态),所有Bicycle(任何状态)和所有Car要么Available要么Reserved。
这里有什么问题?我认为使用AND (&&)是正确的答案,但事实并非如此。
郎朗坤
互换的青春
随时随地看视频慕课网APP
相关分类