go语言系列基础教程总结(3)

1、万能数据类型 

interface{ }  能代表任意数据类型

2、包中方法的可见性

包中的方法如果需要在外部引用,需要把方法首字符大写。

3、go语言中的反射

reflect包   func  ValueOf(i  interface{}) Value {...}获取参数值

func TypeOf(i  interface{}) Type{...} 获取参数的类型

t := reflect.TypeOf(stu1)

t.NumField(); 获取所有字段数量

field := t.Field(i)获取某个字段

t.NumMethod()获取所有方法数量
    
 method := v.Method(i)获取某个方法

4、go语言中的 json处理

  // 序列化成map
    m := make(map[string]interface{}, 0)
    if err := json.Unmarshal([]byte(jsonStr), &m); err != nil {
        panic(err)
    }
 

    //反序列化成对象
    re := Requst{}
    if err := json.Unmarshal([]byte(jsonStr), &re); err != nil {
        panic(err)
    }
 

    // 取单个key,
    userName := gjson.Get(jsonStr, "userName")


 

猜你喜欢

转载自blog.csdn.net/u013558123/article/details/131396346