go string unicode 和 utf-8关系:
https://www.zhihu.com/question/23374078
g1 := model.GormUser{ ID: 10, Name: "", Age: 30, }
gv1 := reflect.ValueOf(&g1)
gv1 := reflect.ValueOf(g1)
reflect.valueof 方法获取新创建变量的地址,,一般该方法返回的是传入变量的一份值复制。此处直接传递变量的地址,得到的也是变量的地址对象。然后调用Elem方法获取地址指针指向的值封装。
如果传递的是g1 非指针类,那么不可对其进行修改,应为它是不可寻址的。
关于方法实现接口:
type HandlerFunc func(ResponseWriter, *Request)
// ServeHTTP calls f(w, r).
func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request) {
f(w, r)
}
type Handler interface {
ServeHTTP(ResponseWriter, *Request)
}
定义type 和它的对应方法签名,这个HandlerFunc 可以实现Handler接口,它是一个适配器,可以将普通的方法(保证签名一样)作为http 的handler处理。HandlerFunc(f) 将f 转为HandleFunc,而这个HandlerFunc 实现了handler接口