Go教程技术文章
-
本文实例讲述了golang操作mongodb的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:package main import ( "fmt" "launchpad.net/mgo" "launchpad.494 收藏 -
前言 golang的”database/sql”是操作数据库时常用的包,这个包定义了一些sql操作的接口,具体的实现还需要不同数据库的实现,mysql比较优秀的一个驱动是:github.com/go-sql-driver/mysql,在接口、驱动494 收藏 -
1、math/rand 随机数从资源生成。包水平的函数都使用的默认的公共资源。 该资源会在程序每次运行时都产生确定的序列。如果需要每次运行产生不同的序列,应使用Seed函数进行初始化。默认资494 收藏 -
Go 的周期任务不应该靠关闭 ticker.C 退出。本文用 context、time.NewTicker 和 defer Stop 写一个可复用示例,说明停止任务、停止 ticker、通道不关闭以及慢处理和版本边界。493 收藏 -
Go encoding/xml.Decoder 的 Token、Decode 和 DecodeElement 都通过 error 报告解析问题。本文说明如何区分 io.EOF 与真实失败,用 %w 保留错误链,并结合 InputPos、InputOffset 和受控原始缓存补齐排查上下文。493 收藏 -
bufio.Reader.Peek 可以在不推进读取位置的情况下查看输入前缀,适合把一个流交给不同解析器。本文用一个小型输入分发工具说明 Peek 的组合方式、缓冲区边界、短输入和返回切片生命周期。493 收藏 -
通过Problem、Minimize与NelderMead实现自定义标量函数最小化,说明变量维度、方法契约、计算预算及候选结果的解释。493 收藏 -
读取 EUC-KR 或 CP949 保存的旧韩文文本时,不能直接把原始字节转换成 UTF-8 字符串。本文用 golang.org/x/text/encoding/korean 的 EUCKR 解码器接入 transform.Reader,给出整文件读取、流式复制、错误处理和内存取舍。493 收藏 -
fmt.Sscanf 适合解析结构稳定的字符串:用格式模板约束字段位置,用指针接收值,再同时检查扫描数量和 error。普通动词会按扫描规则处理空白,%c 则直接读取下一个字符。493 收藏 -
Go time.Ticker 停止后循环仍不退出,关键在于 Stop 不关闭 C。用 context 取消、defer Stop 和完成通道划分职责,并说明 Go 1.23 回收语义及回调阻塞边界。493 收藏 -
请求结束后仍要完成异步任务时,先用 context.WithoutCancel 脱离请求取消,再用 context.WithTimeout 设置独立期限;本文同时说明值传递、取消边界和常见误区。493 收藏 -
Go 1.27 的 encoding/json/v2 可用 StringifyNumbers 把数字编码为 JSON 字符串。本文对比调用级选项与字段级 string 标签,给出旧客户端兼容、严格解码、精度测试和灰度退出方案。493 收藏 -
用 Go runtime/trace 的 Flight Recorder 保留延迟尖峰前的有限执行轨迹,配置 MinAge、MaxBytes,并在阈值触发时安全写出快照。493 收藏 -
Go 的 url.Values 本质是 map[string][]string。批量合并查询参数时,Add 负责追加,Set 负责替换;配合 Clone 和 Encode 可以实现有优先级、可复用且不污染原输入的 URL 查询构造。493 收藏 -
Go container/list 删除异常通常不是链表坏了,而是把 Value 当成 Element、节点来自另一条 List,或遍历时没有先保存 Next。本文按这三类现象给出排查和回归清单。493 收藏