Go第三方库faker假数据生成器

Written by

in

文章目录
  • bxcodec/faker 是 Go 语言中造数据利器的第三方库,它非常适用于开发过程中需要填充数据库、创建测试数据。可以生成各种类型的假数据,包括字符串、数字、日期、布尔值、地址、姓名、邮箱、手机号、身份证号等。
  • go get github.com/bxcodec/faker/v3 import “github.com/bxcodec/faker/v3”
  • 目录
    • 一、介绍
    • 二、安装并引入包
    • 三、生成假数据
      • 3.1 使用 faker 提供的各种函数生成假数据
      • 3.2 创建一个结构体并使用 faker 填充数据

    bxcodec/faker 是 Go 语言中造数据利器的第三方库,它非常适用于开发过程中需要填充数据库、创建测试数据。可以生成各种类型的假数据,包括字符串、数字、日期、布尔值、地址、姓名、邮箱、手机号、身份证号等。

    go get github.com/bxcodec/faker/v3
    
    import "github.com/bxcodec/faker/v3"
    

    package main
    
    import (
    	"fmt"
    
    	"github.com/bxcodec/faker/v3"
    )
    
    func main() {
    
    	chineseName := faker.ChineseName()
    	fmt.Println("生成的中文姓名:", chineseName)
    
    	name := faker.Name()
    	fmt.Println("生成的姓名:", name)
    
    	email := faker.Email()
    	fmt.Println("生成的邮箱地址:", email)
    
    	pwd := faker.Password()
    	fmt.Println("生成的密码:", pwd)
    
    	phoneNumber := faker.Phonenumber()
    	fmt.Println("生成的电话号码:", phoneNumber)
    
    	gender := faker.Gender()
    	fmt.Println("生成的性别:", gender)
    
    	year := faker.YearString()
    	fmt.Println("生成的年份:", year)
    
    	ipv4 := faker.IPv4()
    	fmt.Println("生成IPv4:", ipv4)
    
    	ipv6 := faker.IPv6()
    	fmt.Println("生成IPv6:", ipv6)
    
    	macAddress := faker.MacAddress()
    	fmt.Println("生成mac地址:", macAddress)
    
    	domainName := faker.DomainName()
    	fmt.Println("生成域名:", domainName)
    
    	url := faker.URL()
    	fmt.Println("生成URL:", url)
    
    	uuiddigit := faker.UUIDDigit()
    	fmt.Println("生成UUID:", uuiddigit)
    
    }
    
    

    输入结果:

    // 生成的中文姓名: 公鸿德
    // 生成的姓名: Lady Audie Reynolds
    // 生成的邮箱地址: KpmPJgl@LGdKqxc.com
    // 生成的密码: lpvaGDZQBAxZUgkPsSQuajHnskjHFsceadUNtsscEpvsbUgASe
    // 生成的电话号码: 723-956-1041
    // 生成的性别: Prefer to skip
    // 生成的年份: 1986
    // 生成IPv4: 53.220.70.183
    // 生成IPv6: 64c0:1ca7:5a29:6207:6ab1:85b0:5b12:9c0d
    // 生成mac地址: 7a:64:29:77:11:34
    // 生成域名: GMqvyDy.info
    // 生成URL: https://www.lAXxXgd.net/
    // 生成UUID: 8369bbc3e1944a1aa871dc51228ed1e

    package main
    
    import (
    	"fmt"
    
    	"github.com/bxcodec/faker/v3"
    )
    
    type Person struct {
    	Name        string
    	ChineseName string
    	Age         int
    	Gender      string
    	Email       string
    }
    
    type _Person struct {
    	Name        string `faker:"name"`
    	ChineseName string `faker:"chinese_name"`
    	Age         int
    	Gender      string `faker:"gender"`
    	Email       string `faker:"email"`
    }
    
    func main() {
    
    	var person Person
    	var _person _Person
    
    	if err := faker.FakeData(&person); err != nil {
    		fmt.Println(err)
    		return
    	}
    
    	fmt.Printf("使用 faker 生成数据:%+vn", person)
    
    	if err := faker.FakeData(&_person); err != nil {
    		fmt.Println(err)
    		return
    	}
    
    	fmt.Printf("使用 faker 生成数据:%+vn", _person)
    }
    

    输出结果:

    结构体不加标签的情况下,生成的是随机数据
    // 使用 faker 生成数据:{Name:RaBpPTROBtlhQniRnZAOEiZCf ChineseName:kjMwmcaZXiEJujSWwgfCrbbJi Age:58 Gender:sFChOFrrNVBMLChsTZHVHrMnJ Email:pscrGGDfMxuRcAjWQgkMlirls}
    结构体加标签的情况下,生成的是符合标签要求的数据
    // 使用 faker 生成数据:{Name:Mrs. Caleigh Miller ChineseName:欧阳鸿朗 Age:11 Gender:Male Email:cEFZfXy@xNgWDUE.net}

    到此这篇关于Go第三方库faker假数据生成器的文章就介绍到这了,更多相关Go第三方库faker数据生成器内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Golang map如何生成有序的json数据详解
    • 使用Django清空数据库并重新生成
    • Django数据库表反向生成实例解析
    • django重新生成数据库中的某张表方法
    • xorm根据数据库生成go model文件的操作
    • golang 生成对应的数据表struct定义操作
    • mongodb 数据生成Insert 语句的示例代码
    • Django生成数据库及添加用户报错解决方案
    • 使用golang生成prometheus格式数据

    站内搜索