golang
已收录文章:14070篇
-
使用filepath.Walk可高效递归遍历目录,结合os.FileInfo过滤文件类型并获取元数据,如跳过.git目录或仅处理.go文件,同时通过SkipDir提升性能。309 收藏
-
Go模块缓存默认位于GOMODCACHE(如$HOME/go/pkg/mod),而非GOPATH/pkg;GOCACHE存放编译中间产物;清理用goclean-modcache,查询用golist-m。408 收藏
-
要判断Golang函数的返回值数量,需使用reflect.TypeOf(func).NumOut()。通过reflect包获取函数类型信息,NumOut()返回其输出参数个数,适用于RPC框架、测试工具等需动态解析函数签名的场景。示例中展示了无返回值、单返回值、多返回值函数的处理方式。reflect.Type用于获取类型元数据,如参数和返回值数量及类型,而reflect.Value代表具体值,可调用函数但不直接提供NumOut()方法,需通过Value.Type()转换为Type后才能调用。结合NumOu285 收藏
-
Go语言通过net/http包提供Cookie支持,可使用req.Cookies()或req.Cookie()读取客户端Cookie;通过http.SetCookie设置Cookie,需配置Name、Value、Path、MaxAge、HttpOnly、Secure、SameSite等字段以保障安全;删除Cookie通过设置MaxAge为-1实现;客户端可使用cookiejar自动管理Cookie,实现会话保持。231 收藏
-
log.SetOutput用于设置Go日志输出目标,通过指定io.Writer接口实现日志写入文件、终端或多目标,结合SetFlags可定制格式,是构建灵活日志系统的基础。353 收藏
-
container/list适用于频繁插入删除的动态序列。它通过List和Element实现双向链表,支持O(1)增删,但随机访问为O(n),适用于LRU缓存、可取消任务队列等场景。405 收藏