go faker

📅 2026/7/15 18:40:09 👁️ 阅读次数 📝 编程学习
go faker

Go 语言中生成假数据(Fake Data)最常用的库是gofakeit,它是目前社区最活跃、功能最丰富的选择。

gofakeit(推荐)

安装

bash

复制

go get github.com/brianvoe/gofakeit/v7

特点

  • 提供310+ 个生成函数,覆盖姓名、邮箱、地址、信用卡、公司、颜色、食物等各类数据

  • 支持Struct 自动填充:通过结构体标签(tag)自动注入随机数据

  • 支持自定义函数扩展:可通过AddFuncLookup注册自己的生成逻辑

  • 零依赖,内置加密安全随机数种子

  • 附带 HTTP Server 和命令行工具子包

简单示例

go

复制

import "github.com/brianvoe/gofakeit/v7" gofakeit.Name() // Markus Moen gofakeit.Email() // alaynawuckert@kozey.biz gofakeit.Phone() // (570)245-7485 gofakeit.CreditCardNumber(nil) // 4287271570245748

Struct 自动填充示例

go

复制

type User struct { Name string `fake:"{firstname}"` Email string `fake:"{email}"` Age int JoinedAt time.Time } var u User gofakeit.Struct(&u)

其他可选库

表格

特点适用场景
go-faker/faker专注于 Struct 填充,支持faker标签需要为已有结构体快速生成假数据
icrowley/fake受 Ruby forgery/ffaker 启发,支持英语/俄语需要多语言支持(英/俄)

如果你需要最全面的功能活跃的社区维护gofakeit是首选。如果你只是需要为测试结构体快速填充字段,go-faker/faker也是一个轻量选择。