golang
已收录文章:572篇
-
指针用于函数间共享修改变量,传*int可修改原值;2.提升性能,避免大对象复制;3.指针可为nil,表达可选状态;4.用于链表等复杂结构。324 收藏
-
Go语言中crypto/md5、crypto/sha1和crypto/sha256包用于生成哈希值,适用于数据完整性校验等场景;MD5通过md5.Sum()计算,输出128位哈希,虽不安全但可用于简单去重;SHA1使用sha1.Sum(),安全性高于MD5,但正被SHA-2取代;SHA256调用sha256.Sum256(),安全性高,适合密码存储与区块链;还可通过hash.Hash接口实现流式写入,如sha256.New()配合Write方法处理大文件;建议敏感场景避免使用MD5和SHA1。468 收藏
-
在Go并发编程中,错误处理需通过channel将错误传递回主协程,结合context实现取消与超时控制,避免忽略goroutine中的错误,并可使用errgroup简化多任务错误管理,确保每个错误都有明确的处理路径。308 收藏
-
os.Rename在跨文件系统时会因底层rename系统调用不支持而失败,返回“cross-devicelink”错误;此时应采用拷贝后删除的策略,即先用io.Copy复制文件并保留权限,再删除源文件,确保操作的可靠性与完整性。120 收藏
-
Go语言通过net/http包实现HTTP路由与多方法请求处理,使用HandleFunc注册路径与处理函数映射;2.在处理函数中通过r.Method判断GET、POST等请求类型并执行对应逻辑;3.路径参数可通过前缀匹配和字符串截取提取,查询参数用r.URL.Query()获取;4.静态文件服务借助http.FileServer和http.StripPrefix提供;5.标准库适用于轻量级场景,复杂需求可选用Gin、Echo等框架,但需先掌握原生机制。329 收藏
-
组合模式通过统一接口处理文件和目录,实现递归遍历与大小统计,Go中用FileSystemNode接口统一文件和目录操作,Directory包含多个节点并递归调用,简化树形结构管理。162 收藏