Golang 中国
type Category struct {
    Id    int
    Name  string
    Level int
    Fid   int
}

var c Category
c.Name="xxx"
c.Fid=1

现在我想用反射判断Id和Level着两个字段没有赋值,需要怎么办?

1 回复
ggaaooppeenngg
#1 ggaaooppeenngg • 2014-03-27 22:02

会自动带默认值的,只要声明了的话,如果默认值能用来区分的话,就能判断,不然没办法了,没办法知道是你赋值了还是自动给你赋初始值了。你声明了个变量肯定是带了值的。要不你就存指针,指针初始化都是nil,这样就能判断了。

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。