结构体内的字段初始为0如何判断

type test struct{
  n    int64
}

func main(){
    s := &test{}
    //这个时候n是0值
    //s.a != 0 初始化的0值
    if s.a != 0{

    }
    那这个时候给n他赋值0值 我要怎么知道这个n的值是我赋值过的而不是初始化的0值
    s.a = 0
}

这个时候你们是如何解决的呢

已邀请:

lrita

赞同来自: astaxie 嘿嘿嘿 dncmn ZevFang

type test struct{
  n    *int64
}

Mrwxj - 图样图森破

赞同来自: 嘿嘿嘿 dncmn

lirita 用指针就不会存在这种问题了 只有nil和非nil了 还有一种蠢方法是来个flag

要回复问题请先登录注册