golang "坑"记录

golang "坑"记录

该博客主要用来记录使用golang过程中,遇到的"坑“,主要是对golang的理解不够深

  1. 使用匿名类,unmarsal时可能有意向不到的结果
    type A struct {
        C
        B  string  `json:"b"`
    }
    type C struct {
        B string `json: "b`,
        D string `json: "d`,
    }
    func main() {
        s := []byte(`{"b":"hello","d":"go"}`)
        a := new(A)
        err := json.Unmarshal(s, a)
        if err != nil {
            fmt.Println(err)
            return
        }
        fmt.Println("c", a.C )
        fmt.Println("b", a.B)
    }
    
    打印的结果:
    c { go}
    b hello
    
    如果使用内部匿名类得注意,如果有进行json umarshal时,避免出现匿名类和外部类都有的都有的数据

你可能感兴趣的:(golang)