比较两个切片可以使用两种方式:
- 遍历切片比较每个元素,可以判断临界条件以快速失败提高性能
 - 使用反射,
reflect.DeepEqual(x, y any) bool,因为是通用型函数,并且使用反射获取类型信息,在有性能要求的场景中不建议使用 
...大约 2 分钟
比较两个切片可以使用两种方式:
reflect.DeepEqual(x, y any) bool,因为是通用型函数,并且使用反射获取类型信息,在有性能要求的场景中不建议使用
database/sqlSQL 语句的执行是对标准库方法的封装:
type Session struct {
	db       *sql.DB
	...
}
...
func (s *Session) Exec() (sql.Result, error) {
	defer s.Clear()
	log.Info(s.sql.String(), s.sqlVars)
	res, err := s.DB().Exec(s.sql.String(), s.sqlVars...)
	if err != nil {
		log.Error(err)
	}
	return res, err
}
RPC(Remote Procedure Call,远程过程调用)是一种计算机通信协议,允许调用不同进程空间的程序。RPC 的客户端和服务器可以在一台机器上,也可以在不同的机器上。使用时,就像调用本地程序一样,无需关注内部的实现细节。
Gee 的基本原理是实现http.Handler接口:
package http
type Handler interface {
    ServeHTTP(w ResponseWriter, r *Request)
}
func ListenAndServe(address string, h Handler) error
以 gov1.18为例总结 map 的底层实现。
type hchan struct {
	qcount   uint
	dataqsiz uint
	buf      unsafe.Pointer
	elemsize uint16
	closed   uint32
	elemtype *_type
	sendx    uint
	recvx    uint
	recvq    waitq
	sendq    waitq
	lock mutex
}
type Mutex struct {
	state int32
	sema  uint32
}
runtime._defer是延迟调用链表上的元素,所有的runtime._defer构成一个单向链表。
panic 关键字在 Go 语言的源代码是由数据结构 runtime._panic 表示的: