美文网首页golang
结构体中的nil和0与空判断

结构体中的nil和0与空判断

作者: 顶尖少爷 | 来源:发表于2022-04-24 17:58 被阅读0次

    简单的结构题

        type condition struct{
            Min  int  `json:min`
            Max int  `json:max`
        }
    
        str:=`{"min":0,"max":0}`
        var value condition
        err:=json.Unmarshal([]byte(str),&value)
        if err!=nil{
            fmt.Println(err.Error())
        }
        fmt.Println(value.Min)
    
        str1:=`{}`
        err2:=json.Unmarshal([]byte(str1),&value)
        if err2!=nil{
            fmt.Println(err2.Error())
        }
        fmt.Println(value.Min)
    

    输出结构

    0
    0
    

    结构体2

    type condition struct{
            Min  *int  `json:min`
            Max *int  `json:max`
        }
    
        str:=`{"min":0,"max":0}`
        var value condition
        err:=json.Unmarshal([]byte(str),&value)
        if err!=nil{
            fmt.Println(err.Error())
        }
        fmt.Println(*value.Min)
    
        str1:=`{}`
        var value2 condition
        err2:=json.Unmarshal([]byte(str1),&value2)
        if err2!=nil{
            fmt.Println(err2.Error())
        }
        fmt.Println(value2.Min)
    

    输出结构

    0
    <nil>
    

    相关文章

      网友评论

        本文标题:结构体中的nil和0与空判断

        本文链接:https://www.haomeiwen.com/subject/jpotyrtx.html