zhcoders

Results 2 comments of zhcoders

> @wings-xue > recorve 为什么一定要有 c.Next()? > 没有就会报panic 因为defer recover机制只能针对于当前函数以及直接调用的函数可能参数的panic,所以在Recovery里面的c.Next()会执行下面这个handler ``` func(c *gee.Context) { names := []string{"geektutu"} c.String(http.StatusOK, names[100]) } ``` 从而捕获到panic并恢复 如果没有c.Next(),则handler不是Recovery直接调用的函数,无法recover,panic被net/http自带的recover机制捕获

> @OhYee > 如果内存对齐只是涉及更改顺序的话,go 为什么不在编译时和运行时自动进行对齐呢? > 如果编译时存在跨平台优化问题,那么运行时应该可以确定如何对齐最优吧。 Go在编译的时候会自动内存对齐,就是上面说的,不同顺序占用的内存不一样,这就是自动对齐的结果。Go如果更改了结构体的顺序,如果在数据传输的时候,如何正确的读取到结构体的内容呢?