faker 是一个用于生成随机测试数据的 Go 语言库。它能够帮助开发者快速生成模拟数据,用于测试、演示、样本数据生成等场景。

faker支持一下类型数据:

  • int, int8, int16, int32 & int64
  • []int, []int8, []int16, []int32 & []int64
  • bool & []bool
  • string & []string
  • float32, float64, []float32 &[]float64
  • time.Time & []time.Time
  • 嵌套结构

作者提供了丰富的例子以供参考:

faker在使用过程中也存在一些限制:

  • 它不支持私有字段。确保你打算生成假数据的结构体字段是公开的,否则会触发panic。你可以在你的私有字段上使用标签skip faker:"-"来忽略字段。
  • 它不支持 interface{} 数据类型。如果我们不知道其数据类型,我们怎么能生成任何东西呢?
  • 它不支持 map[interface{}]interface{}map[any_type]interface{}map[interface{}]any_type 数据类型。
  • 自定义类型并未完全支持。然而,一些自定义类型已经得到支持:我们仍在研究如何正确地做到这一点。目前,如果你使用 faker,最安全的做法是不使用任何自定义类型,以避免panic。
  • 如果并且仅当使用 AddProvider() 扩展时,一些额外的自定义类型可以得到支持,请参见 示例
  • oneof 标签目前只支持 stringint 类型,以及 float32float64。更多的支持即将到来(例如,十六进制数字等)。请参见 示例 了解如何使用。

孟斯特

声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。
Author: mengbin
blog: mengbin
Github: mengbin92
cnblogs: 恋水无意