如何判断*int类型的为某个值
判断 *int 类型的变量是否为某个值可以通过如下步骤:
1. 先判断这个 *int 是否为 nil,nil 表示指针没有指向任何实际的内存地址,可以通过以下代码进行判断:
```
if ptr == nil {
// ptr 指向的内存地址为 nil
}
```
2. 如果不是 nil,需要先通过指针 *ptr 获取实际的 int 值,可以通过以下代码进行获取:
```
val := *ptr
```
3. 判断 val 是否等于目标值,如果等于目标值,则表示 *int 类型的变量的值为该目标值,可以通过以下代码进行判断:
```
if val == target {
// *int 类型的变量的值为 target
}
```
下面是一个完整的例子:
```
func main() {
var ptr *int
if ptr == nil {
fmt.Println("ptr is nil")
}
var x int = 10
ptr = &x
val := *ptr
if val == 10 {
fmt.Println("x is equal to 10")
}
}
输出:
ptr is nil
x is equal to 10
```
实际应用:
type WithdrawSearch struct {
State *int `json:"state" form:"state"`
}
// 创建db
db := global.RUMMY_DB.Model(&game.Withdraw{})
state := *info.State if state == 1 { //成功到账 db.Where("withdraw_record.update_time<=FROM_UNIXTIME(?)", *info.StartTime/1000) } else { db.Where("take_cash_apply.t<=FROM_UNIXTIME(?)", *info.EndTime/1000) }
总结: