golang
已收录文章:14427篇
-
使用sync.Pool复用对象、预分配切片容量、减少小对象混合分配并调整GOGC参数,可有效降低Go程序内存碎片。368 收藏
-
结构体值类型保存副本,指针类型保存地址;函数传参为值传递,值接收者操作副本,指针接收者可修改原数据;大结构体或需修改时应使用指针。368 收藏
-
在Go中,指针的零值为nil,使用前需通过ifptr!=nil判断避免解引用导致panic。未初始化的指针默认为nil,函数返回的指针、结构体指针字段等均需先检查有效性再访问,如result!=nil或user!=nil后才可安全使用*ptr或user.Name。手动检查是必要步骤,能有效防止空指针异常。368 收藏
-
Go语言strings包提供字符串查找、替换、分割、拼接、大小写转换等常用操作。1.使用Contains、HasPrefix、HasSuffix判断子串存在或前缀后缀匹配;2.Index返回子串首次位置;3.Replace实现指定次数或全部替换,Repeat重复字符串;4.Split按分隔符拆分,Join将切片合并;5.ToLower、ToUpper转换大小写,TrimSpace去除首尾空白,Trim去除指定字符。熟练掌握可高效处理文本。368 收藏
-
表格驱动测试通过将测试数据与逻辑分离,使用结构体切片组织用例并配合t.Run实现清晰、可维护的多场景测试,显著提升可读性与扩展性。368 收藏
-
SQL预处理通过预编译SQL语句提升性能与安全性,使用db.Prepare()创建预处理语句,避免重复解析优化,防止SQL注入,需注意及时关闭Stmt、避免循环内重复Prepare,并结合事务与连接池合理使用。368 收藏