package service import ( "crypto/rand" "encoding/hex" ) // newID 生成一个随机编号,用作 result_id 之类的标识。 // // 没用 UUID 库是为了少一个依赖——这里只要求"够随机、不重复", // 16 字节的随机十六进制串完全够用。 func newID() string { buf := make([]byte, 16) if _, err := rand.Read(buf); err != nil { // crypto/rand 读失败说明系统熵源出了问题,这种情况极罕见。 // 返回空串让调用方的响应里 result_id 为空,总比 panic 掉整个进程好。 return "" } return hex.EncodeToString(buf) }