!变量 与 变量!=nil

3568 Views

感叹号出现在字符后一般都是判断语句,例如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

}

C语言数组初始化的常见写法(附带示例)
dsg和dcg变速箱哪个好?