感叹号出现在字符后一般都是判断语句,例如a!=3意思是a不等于3,
感叹号出现在字符前面,那么意思就是对这个变量取反,例如int *a;!a的意思就是判断指针a是否为空指针,如if(!a),的意思就是如果a为不为空指针那么就进行下边的if中的语句,如果a为空指针,也就是!a那么就不执行if中的语句。
func GetOrder(id string) (*OrderDo, error) {
errMsg := "订单不存在"
order := new(OrderDo)
has, err := drivers.Engine.Id(id).Get(order) //处理返回bool和err
if isSrvError(errMsg, &err) {
return nil, err
}
if !has { //取反 本来是为真的进入分支,但是现在为假时才进入分支
order = nil //为假时订单为空
}
return order, nil // 为真时返回订单号及nil
}