package main

import (
	"encoding/json"
	"fmt"
	"reflect"
)
type jj struct {
	zz int
}
func main()  {

	var s string
	var a int
	byte,err:=json.Marshal(jj{})
	return
	dd(s)
	dd(a)
	dd(jj{})
	//byte,err:=json.Marshal(jj{})
	if(err!=nil){
		panic("")
	}
	str:=string(byte)
	dd(str)
	dd(jj{})
	s="123"
	a=123
	dd(s)
	dd(a)

}

func dd(a interface{})  {
	if(reflect.ValueOf(a).IsNil()){
		fmt.Println("是否为空")
	}
	if(reflect.ValueOf(a).IsZero()){
		fmt.Println("是否为零值")
	}
	if(reflect.ValueOf(a).IsValid()){
		fmt.Println("是否无效")
	}
	/*if(a==nil){
		fmt.Println("==nil")
	}*/
	fmt.Print(reflect.TypeOf(a),a)
}