Categorygithub.com/brianvoe/gofakeit/v7
modulepackage
7.2.1
Repository: https://github.com/brianvoe/gofakeit.git
Documentation: pkg.go.dev

# README

Gofakeit

Gofakeit Go Report Card Test GoDoc license

Random data generator written in go

ko-fi

Buy Me A Coffee

Features

Contributors

Thank you to all our Gofakeit contributors!

Installation

go get github.com/brianvoe/gofakeit/v7

Simple Usage

import "github.com/brianvoe/gofakeit/v7"

gofakeit.Name()             // Markus Moen
gofakeit.Email()            // [email protected]
gofakeit.Phone()            // (570)245-7485
gofakeit.BS()               // front-end
gofakeit.BeerName()         // Duvel
gofakeit.Color()            // MediumOrchid
gofakeit.Company()          // Moen, Pagac and Wuckert
gofakeit.CreditCardNumber() // 4287271570245748
gofakeit.HackerPhrase()     // Connecting the array won't do anything, we need to generate the haptic COM driver!
gofakeit.JobTitle()         // Director
gofakeit.CurrencyShort()    // USD

See full list of functions

Seed

If you are using the default global usage and dont care about seeding no need to set anything. Gofakeit will seed it with a cryptographically secure number.

If you need a reproducible outcome you can set it via the Seed function call. Every example in this repo sets it for testing purposes.

import "github.com/brianvoe/gofakeit/v7"

gofakeit.Seed(0) // If 0 will use crypto/rand to generate a number

// or

gofakeit.Seed(8675309) // Set it to whatever number you want

Random Sources

Gofakeit has a few rand sources, by default it uses math/rand/v2 PCG which is a pseudo random number generator and is thread locked.

If you want to see other potential sources you can see the sub package Source for more information.

import (
	"github.com/brianvoe/gofakeit/v7"
	"github.com/brianvoe/gofakeit/v7/source"
	"math/rand/v2"
)

// Uses math/rand/v2(PCG Pseudo) with mutex locking
faker := gofakeit.New(0)

// NewFaker takes in a source and whether or not it should be thread safe
faker := gofakeit.NewFaker(source rand.Source, threadSafe bool)

// PCG Pseudo
faker := gofakeit.NewFaker(rand.NewPCG(11, 11), true)

// ChaCha8
faker := gofakeit.NewFaker(rand.NewChaCha8([32]byte{0, 1, 2, 3, 4, 5}), true)


// Additional from Gofakeit sub package source

// JSF(Jenkins Small Fast)
faker := gofakeit.NewFaker(source.NewJSF(11), true)

// SFC(Simple Fast Counter)
faker := gofakeit.NewFaker(source.NewSFC(11), true)

// Crypto - Uses crypto/rand
faker := gofakeit.NewFaker(source.NewCrypto(), true)

// Dumb - simple incrementing number
faker := gofakeit.NewFaker(source.NewDumb(11), true)

Global Rand Set

If you would like to use the simple function calls but need to use something like crypto/rand you can override the default global with the random source that you want.

import "github.com/brianvoe/gofakeit/v7"

gofakeit.GlobalFaker = gofakeit.New(0)

Struct

Gofakeit can generate random data for struct fields. For the most part it covers all the basic type as well as some non-basic like time.Time.

Struct fields can also use tags to more specifically generate data for that field type.

import "github.com/brianvoe/gofakeit/v7"

// Create structs with random injected data
type Foo struct {
	Str           string
	Int           int
	Pointer       *int
	Name          string         `fake:"{firstname}"`         // Any available function all lowercase
	Sentence      string         `fake:"{sentence:3}"`        // Can call with parameters
	RandStr       string         `fake:"{randomstring:[hello,world]}"`
	Number        string         `fake:"{number:1,10}"`       // Comma separated for multiple values
	Regex         string         `fake:"{regex:[abcdef]{5}}"` // Generate string from regex
	Map           map[string]int `fakesize:"2"`
	Array         []string       `fakesize:"2"`
	ArrayRange    []string       `fakesize:"2,6"`
	Bar           Bar
	Skip          *string        `fake:"skip"`                // Set to "skip" to not generate data for
	SkipAlt       *string        `fake:"-"`                   // Set to "-" to not generate data for
	Created       time.Time                                   // Can take in a fake tag as well as a format tag
	CreatedFormat time.Time      `fake:"{year}-{month}-{day}" format:"2006-01-02"`
}

type Bar struct {
	Name    string
	Number  int
	Float   float32
}

// Pass your struct as a pointer
var f Foo
err := gofakeit.Struct(&f)

fmt.Println(f.Str)      		// hrukpttuezptneuvunh
fmt.Println(f.Int)      		// -7825289004089916589
fmt.Println(*f.Pointer) 		// -343806609094473732
fmt.Println(f.Name)     		// fred
fmt.Println(f.Sentence) 		// Record river mind.
fmt.Println(fStr)  				// world
fmt.Println(f.Number)   		// 4
fmt.Println(f.Regex)    		// cbdfc
fmt.Println(f.Map)    			// map[PxLIo:52 lxwnqhqc:846]
fmt.Println(f.Array)    		// cbdfc
fmt.Printf("%+v", f.Bar)    	// {Name:QFpZ Number:-2882647639396178786 Float:1.7636692e+37}
fmt.Println(f.Skip)     		// <nil>
fmt.Println(f.Created.String()) // 1908-12-07 04:14:25.685339029 +0000 UTC

// Supported formats
// int, int8, int16, int32, int64,
// uint, uint8, uint16, uint32, uint64,
// float32, float64,
// bool, string,
// array, pointers, map
// time.Time // If setting time you can also set a format tag
// Nested Struct Fields and Embedded Fields

Fakeable types

It is possible to extend a struct by implementing the Fakeable interface in order to control the generation.

For example, this is useful when it is not possible to modify the struct that you want to fake by adding struct tags to a field but you still need to be able to control the generation process.

// Custom string that you want to generate your own data for
type Friend string

func (c *Friend) Fake(f *gofakeit.Faker) (any, error) {
	// Can call any other faker methods
	return f.RandomString([]string{"billy", "fred", "susan"}), nil
}

// Custom time that you want to generate your own data for
type Age time.Time

func (c *Age) Fake(f *gofakeit.Faker) (any, error) {
	return f.DateRange(time.Now().AddDate(-100, 0, 0), time.Now().AddDate(-18, 0, 0)), nil
}

// This is the struct that we cannot modify to add struct tags
type User struct {
	Name Friend
	Age *Age
}

var u User
gofakeit.Struct(&u)
fmt.Printf("%s", f.Name) // billy
fmt.Printf("%s", f.Age) // 1990-12-07 04:14:25.685339029 +0000 UTC

Custom Functions

In a lot of situations you may need to use your own random function usage for your specific needs.

If you would like to extend the usage of struct tags, generate function, available usages in the gofakeit server or gofakeit command sub packages. You can do so via the AddFuncLookup. Each function has their own lookup, if you need more reference examples you can look at each files lookups.

// Simple
gofakeit.AddFuncLookup("friendname", gofakeit.Info{
	Category:    "custom",
	Description: "Random friend name",
	Example:     "bill",
	Output:      "string",
	Generate: func(f *Faker, m *gofakeit.MapParams, info *gofakeit.Info) (any, error) {
		return f.RandomString([]string{"bill", "bob", "sally"}), nil
	},
})

// With Params
gofakeit.AddFuncLookup("jumbleword", gofakeit.Info{
	Category:    "jumbleword",
	Description: "Take a word and jumble it up",
	Example:     "loredlowlh",
	Output:      "string",
	Params: []gofakeit.Param{
		{Field: "word", Type: "string", Description: "Word you want to jumble"},
	},
	Generate: func(f *Faker, m *gofakeit.MapParams, info *gofakeit.Info) (any, error) {
		word, err := info.GetString(m, "word")
		if err != nil {
			return nil, err
		}

		split := strings.Split(word, "")
		f.ShuffleStrings(split)
		return strings.Join(split, ""), nil
	},
})

type Foo struct {
	FriendName string `fake:"{friendname}"`
	JumbleWord string `fake:"{jumbleword:helloworld}"`
}

var f Foo
gofakeit.Struct(&f)
fmt.Printf("%s", f.FriendName) // bill
fmt.Printf("%s", f.JumbleWord) // loredlowlh

Templates

Generate custom outputs using golang's template engine https://pkg.go.dev/text/template.

We have added all the available functions to the template engine as well as some additional ones that are useful for template building.

Additional Available Functions

- ToUpper(s string) string   			// Make string upper case
- ToLower(s string) string   			// Make string lower case
- ToString(s any)            			// Convert to string
- ToDate(s string) time.Time 			// Convert string to date
- SpliceAny(args ...any) []any 			// Build a slice of anys, used with Weighted
- SpliceString(args ...string) []string // Build a slice of strings, used with Teams and RandomString
- SpliceUInt(args ...uint) []uint 		// Build a slice of uint, used with Dice and RandomUint
- SpliceInt(args ...int) []int 			// Build a slice of int, used with RandomInt
Unavailable Gofakeit functions
// Any functions that dont have a return value
- AnythingThatReturnsVoid(): void

// Not available to use in templates
- Template(co *TemplateOptions) ([]byte, error)
- RandomMapKey(mapI any) any

Example Usages

import "github.com/brianvoe/gofakeit/v7"

func main() {
	// Accessing the Lines variable from within the template.
	template := `
	Subject: {{RandomString (SliceString "Greetings" "Hello" "Hi")}}

	Dear {{LastName}},

	{{RandomString (SliceString "Greetings!" "Hello there!" "Hi, how are you?")}}

	{{Paragraph 1 5 10 "\n\n"}}

	{{RandomString (SliceString "Warm regards" "Best wishes" "Sincerely")}}
	{{$person:=Person}}
	{{$person.FirstName}} {{$person.LastName}}
	{{$person.Email}}
	{{$person.Phone}}
	`

	value, err := gofakeit.Template(template, &TemplateOptions{Data: 5})

	if err != nil {
		fmt.Println(err)
	}

	fmt.Println(string(value))
}

Output:

Subject: Hello

Dear Krajcik,

Greetings!

Quia voluptatem voluptatem voluptatem. Quia voluptatem voluptatem voluptatem. Quia voluptatem voluptatem voluptatem.

Warm regards
Kaitlyn Krajcik
kaitlynkrajcik@krajcik
570-245-7485

Functions

All functions also exist as methods on the Faker struct

File

Passing nil to CSV, JSON or XML will auto generate data using default values.

CSV(co *CSVOptions) ([]byte, error)
JSON(jo *JSONOptions) ([]byte, error)
XML(xo *XMLOptions) ([]byte, error)
FileExtension() string
FileMimeType() string

Template

Passing nil will auto generate data using default values.

Template(co *TemplateOptions) (string, error)
Markdown(co *MarkdownOptions) (string, error)
EmailText(co *EmailOptions) (string, error)
FixedWidth(co *FixedWidthOptions) (string, error)

Product

Product() *ProductInfo
ProductName() string
ProductDescription() string
ProductCategory() string
ProductFeature() string
ProductMaterial() string
ProductUPC() string
ProductAudience() string
ProductDimension() string
ProductUseCase() string
ProductBenefit() string
ProductSuffix() string

Person

Person() *PersonInfo
Name() string
NamePrefix() string
NameSuffix() string
FirstName() string
MiddleName() string
LastName() string
Gender() string
SSN() string
Hobby() string
Contact() *ContactInfo
Email() string
Phone() string
PhoneFormatted() string
Teams(peopleArray []string, teamsArray []string) map[string][]string

Generate

Struct(v any)
Slice(v any)
Map() map[string]any
Generate(value string) string
Regex(value string) string

Auth

Username() string
Password(lower bool, upper bool, numeric bool, special bool, space bool, num int) string

Address

Address() *AddressInfo
City() string
Country() string
CountryAbr() string
State() string
StateAbr() string
Street() string
StreetName() string
StreetNumber() string
StreetPrefix() string
StreetSuffix() string
Zip() string
Latitude() float64
LatitudeInRange(min, max float64) (float64, error)
Longitude() float64
LongitudeInRange(min, max float64) (float64, error)

Game

Gamertag() string
Dice(numDice uint, sides []uint) []uint

Beer

BeerAlcohol() string
BeerBlg() string
BeerHop() string
BeerIbu() string
BeerMalt() string
BeerName() string
BeerStyle() string
BeerYeast() string

Car

Car() *CarInfo
CarMaker() string
CarModel() string
CarType() string
CarFuelType() string
CarTransmissionType() string

Words

// Nouns
Noun() string
NounCommon() string
NounConcrete() string
NounAbstract() string
NounCollectivePeople() string
NounCollectiveAnimal() string
NounCollectiveThing() string
NounCountable() string
NounUncountable() string

// Verbs
Verb() string
VerbAction() string
VerbLinking() string
VerbHelping() string

// Adverbs
Adverb() string
AdverbManner() string
AdverbDegree() string
AdverbPlace() string
AdverbTimeDefinite() string
AdverbTimeIndefinite() string
AdverbFrequencyDefinite() string
AdverbFrequencyIndefinite() string

// Propositions
Preposition() string
PrepositionSimple() string
PrepositionDouble() string
PrepositionCompound() string

// Adjectives
Adjective() string
AdjectiveDescriptive() string
AdjectiveQuantitative() string
AdjectiveProper() string
AdjectiveDemonstrative() string
AdjectivePossessive() string
AdjectiveInterrogative() string
AdjectiveIndefinite() string

// Pronouns
Pronoun() string
PronounPersonal() string
PronounObject() string
PronounPossessive() string
PronounReflective() string
PronounDemonstrative() string
PronounInterrogative() string
PronounRelative() string

// Connectives
Connective() string
ConnectiveTime() string
ConnectiveComparative() string
ConnectiveComplaint() string
ConnectiveListing() string
ConnectiveCasual() string
ConnectiveExamplify() string

// Words
Word() string

// Sentences
Sentence(wordCount int) string
Paragraph(paragraphCount int, sentenceCount int, wordCount int, separator string) string
LoremIpsumWord() string
LoremIpsumSentence(wordCount int) string
LoremIpsumParagraph(paragraphCount int, sentenceCount int, wordCount int, separator string) string
Question() string
Quote() string
Phrase() string

Foods

Fruit() string
Vegetable() string
Breakfast() string
Lunch() string
Dinner() string
Snack() string
Dessert() string

Misc

Bool() bool
UUID() string
Weighted(options []any, weights []float32) (any, error)
FlipACoin() string
RandomMapKey(mapI any) any
ShuffleAnySlice(v any)

Colors

Color() string
HexColor() string
RGBColor() []int
SafeColor() string
NiceColors() string

Images

Image(width int, height int) *img.RGBA
ImageJpeg(width int, height int) []byte
ImagePng(width int, height int) []byte

Internet

URL() string
DomainName() string
DomainSuffix() string
IPv4Address() string
IPv6Address() string
MacAddress() string
HTTPStatusCode() string
HTTPStatusCodeSimple() int
LogLevel(logType string) string
HTTPMethod() string
HTTPVersion() string
UserAgent() string
ChromeUserAgent() string
FirefoxUserAgent() string
OperaUserAgent() string
SafariUserAgent() string

HTML

InputName() string
Svg(options *SVGOptions) string

Date/Time

Date() time.Time
PastDate() time.Time
FutureDate() time.Time
DateRange(start, end time.Time) time.Time
NanoSecond() int
Second() int
Minute() int
Hour() int
Month() int
MonthString() string
Day() int
WeekDay() string
Year() int
TimeZone() string
TimeZoneAbv() string
TimeZoneFull() string
TimeZoneOffset() float32
TimeZoneRegion() string

Payment

Price(min, max float64) float64
CreditCard() *CreditCardInfo
CreditCardCvv() string
CreditCardExp() string
CreditCardNumber(*CreditCardOptions) string
CreditCardType() string
Currency() *CurrencyInfo
CurrencyLong() string
CurrencyShort() string
AchRouting() string
AchAccount() string
BitcoinAddress() string
BitcoinPrivateKey() string

Finance

Cusip() string
Isin() string

Company

BS() string
Blurb() string
BuzzWord() string
Company() string
CompanySuffix() string
Job() *JobInfo
JobDescriptor() string
JobLevel() string
JobTitle() string
Slogan() string

Hacker

HackerAbbreviation() string
HackerAdjective() string
Hackeringverb() string
HackerNoun() string
HackerPhrase() string
HackerVerb() string

Hipster

HipsterWord() string
HipsterSentence(wordCount int) string
HipsterParagraph(paragraphCount int, sentenceCount int, wordCount int, separator string) string

App

AppName() string
AppVersion() string
AppAuthor() string

Animal

PetName() string
Animal() string
AnimalType() string
FarmAnimal() string
Cat() string
Dog() string
Bird() string

Emoji

Emoji() string
EmojiDescription() string
EmojiCategory() string
EmojiAlias() string
EmojiTag() string

Language

Language() string
LanguageAbbreviation() string
ProgrammingLanguage() string
ProgrammingLanguageBest() string

Number

Number(min int, max int) int
Int() int
IntN(n int) int
Int8() int8
Int16() int16
Int32() int32
Int64() int64
Uint() uint
UintN(n uint) uint
Uint8() uint8
Uint16() uint16
Uint32() uint32
Uint64() uint64
Float32() float32
Float32Range(min, max float32) float32
Float64() float64
Float64Range(min, max float64) float64
ShuffleInts(a []int)
RandomInt(i []int) int
HexUint(bitsize int) string

String

Digit() string
DigitN(n uint) string
Letter() string
LetterN(n uint) string
Lexify(str string) string
Numerify(str string) string
ShuffleStrings(a []string)
RandomString(a []string) string

Celebrity

CelebrityActor() string
CelebrityBusiness() string
CelebritySport() string

Minecraft

MinecraftOre() string
MinecraftWood() string
MinecraftArmorTier() string
MinecraftArmorPart() string
MinecraftWeapon() string
MinecraftTool() string
MinecraftDye() string
MinecraftFood() string
MinecraftAnimal() string
MinecraftVillagerJob() string
MinecraftVillagerStation() string
MinecraftVillagerLevel() string
MinecraftMobPassive() string
MinecraftMobNeutral() string
MinecraftMobHostile() string
MinecraftMobBoss() string
MinecraftBiome() string
MinecraftWeather() string

Book

Book() *BookInfo
BookTitle() string
BookAuthor() string
BookGenre() string

Movie

Movie() *MovieInfo
MovieName() string
MovieGenre() string

Error

Error() error
ErrorDatabase() error
ErrorGRPC() error
ErrorHTTP() error
ErrorHTTPClient() error
ErrorHTTPServer() error
ErrorInput() error
ErrorRuntime() error

School

School() string

Song

Song() *SongInfo
SongName() string
SongArtist() string
SongGenre() string

# Packages

# Functions

AchAccount will generate a 12 digit account number.
AchRouting will generate a 9 digit routing number.
AddFuncLookup takes a field and adds it to map.
Address will generate a struct of address information.
Adjective will generate a random adjective.
AdjectiveDemonstrative will generate a random demonstrative adjective.
AdjectiveDescriptive will generate a random descriptive adjective.
AdjectiveIndefinite will generate a random indefinite adjective.
AdjectiveInterrogative will generate a random interrogative adjective.
AdjectivePossessive will generate a random possessive adjective.
AdjectiveProper will generate a random proper adjective.
AdjectiveQuantitative will generate a random quantitative adjective.
Adverb will generate a random adverb.
AdverbDegree will generate a random degree adverb.
AdverbFrequencyDefinite will generate a random frequency definite adverb.
AdverbFrequencyIndefinite will generate a random frequency indefinite adverb.
AdverbManner will generate a random manner adverb.
AdverbPlace will generate a random place adverb.
AdverbTimeDefinite will generate a random time definite adverb.
AdverbTimeIndefinite will generate a random time indefinite adverb.
Animal will return a random animal.
AnimalType will return a random animal type.
AppAuthor will generate a random company or person name.
AppName will generate a random app name.
AppVersion will generate a random app version.
BeerAlcohol will return a random beer alcohol level between 2.0 and 10.0.
BeerBlg will return a random beer blg between 5.0 and 20.0.
BeerHop will return a random beer hop.
BeerIbu will return a random beer ibu value between 10 and 100.
BeerMalt will return a random beer malt.
BeerName will return a random beer name.
BeerStyle will return a random beer style.
BeerYeast will return a random beer yeast.
Bird will return a random bird species.
BitcoinAddress will generate a random bitcoin address consisting of numbers, upper and lower characters.
BitcoinPrivateKey will generate a random bitcoin private key base58 consisting of numbers, upper and lower characters.
Blurb will generate a random company blurb string.
Bool will generate a random boolean value.
Breakfast will return a random breakfast name.
BS will generate a random company bs string.
BuzzWord will generate a random company buzz word string.
Car will generate a struct with car information.
CarFuelType will return a random fuel type.
CarMaker will return a random car maker.
CarModel will return a random car model.
CarTransmissionType will return a random transmission type.
CarType will generate a random car type string.
Cat will return a random cat breed.
Categories will return a map string array of available data categories and sub categories.
CelebrityActor will generate a random celebrity actor.
CelebrityBusiness will generate a random celebrity business person.
CelebritySport will generate a random celebrity sport person.
ChromeUserAgent will generate a random chrome browser user agent string.
City will generate a random city string.
Color will generate a random color string.
Comment will generate a random statement or remark expressing an opinion, observation, or reaction.
Company will generate a random company name string.
CompanySuffix will generate a random company suffix string.
Connective will generate a random connective.
ConnectiveCasual will generate a random casual connective.
ConnectiveComparative will generate a random comparative connective.
ConnectiveComplaint will generate a random complaint connective.
ConnectiveExamplify will generate a random examplify connective.
ConnectiveListing will generate a random listing connective.
ConnectiveTime will generate a random connective time.
Contact will generate a struct with information randomly populated contact information.
Country will generate a random country string.
CountryAbr will generate a random abbreviated country string.
CreditCard will generate a struct full of credit card information.
CreditCardCvv will generate a random CVV number Its a string because you could have 017 as an exp date.
CreditCardExp will generate a random credit card expiration date string Exp date will always be a future date.
CreditCardNumber will generate a random luhn credit card number.
CreditCardType will generate a random credit card type string.
CSV generates an object or an array of objects in json format A nil CSVOptions returns a randomly structured CSV.
Currency will generate a struct with random currency information.
CurrencyLong will generate a random long currency name.
CurrencyShort will generate a random short currency value.
CUSIP.
Date will generate a random time.Time struct.
DateRange will generate a random time.Time struct between a start and end date.
Day will generate a random day between 1 - 31.
Dessert will return a random dessert name.
Dice will generate a random set of dice.
Digit will generate a single ASCII digit.
DigitN will generate a random string of length N consists of ASCII digits.
Dinner will return a random dinner name.
Dog will return a random dog breed.
DomainName will generate a random url domain name.
DomainSuffix will generate a random domain suffix.
Drink will return a random drink name.
Email will generate a random email string.
EmailText will return a single random text email template document.
Emoji will return a random fun emoji.
EmojiAlias will return a random fun emoji alias.
EmojiCategory will return a random fun emoji category.
EmojiDescription will return a random fun emoji description.
EmojiTag will return a random fun emoji tag.
Error will return a random generic error.
ErrorDatabase will return a random database error.
ErrorGRPC will return a random gRPC error.
ErrorHTTP will return a random HTTP error.
ErrorHTTPClient will return a random HTTP client error response (400-418).
ErrorHTTPServer will return a random HTTP server error response (500-511).
ErrorObject will return a random error object word.
ErrorRuntime will return a random runtime error.
ErrorValidation will return a random validation error.
FarmAnimal will return a random animal that usually lives on a farm.
FileExtension will generate a random file extension.
FileMimeType will generate a random mime file type.
FirefoxUserAgent will generate a random firefox broswer user agent string.
FirstName will generate a random first name.
FixedWidth generates an table of random data in fixed width format A nil FixedWidthOptions returns a randomly structured FixedWidth.
FlipACoin will return a random value of Heads or Tails.
Float32 will generate a random float32 value.
Float32Range will generate a random float32 value between min and max.
Float64 will generate a random float64 value.
Float64Range will generate a random float64 value between min and max.
Fruit will return a random fruit name.
FutureDate will generate a random future time.Time struct.
Gamertag will generate a random video game username.
Gender will generate a random gender string.
Generate fake information from given string.
GetFuncLookup will lookup.
HackerAbbreviation will return a random hacker abbreviation.
HackerAdjective will return a random hacker adjective.
HackeringVerb will return a random hacker ingverb.
HackerNoun will return a random hacker noun.
HackerPhrase will return a random hacker sentence.
HackerVerb will return a random hacker verb.
HexColor will generate a random hexadecimal color string.
HexUint will generate a random uint hex value with "0x" prefix.
HipsterParagraph will generate a random paragraphGenerator Set Paragraph Count Set Sentence Count Set Word Count Set Paragraph Separator.
HipsterSentence will generate a random sentence.
HipsterWord will return a single hipster word.
Hobby will generate a random hobby string.
Hour will generate a random hour - in military time.
HTTPMethod will generate a random http method.
HTTPStatusCode will generate a random status code.
HTTPStatusCodeSimple will generate a random simple status code.
HTTPVersion will generate a random http version.
Image generates a random rgba image.
ImageJpeg generates a random rgba jpeg image.
ImagePng generates a random rgba png image.
InputName will return a random input field name.
Int will generate a random int value.
Int16 will generate a random int16 value.
Int32 will generate a random int32 value.
Int64 will generate a random int64 value.
Int8 will generate a random Int8 value.
Interjection will generate a random word expressing emotion.
IntN will generate a random int value between 0 and n.
IntRange will generate a random int value between min and max.
IPv4Address will generate a random version 4 ip address.
IPv6Address will generate a random version 6 ip address.
ISIN.
Job will generate a struct with random job information.
JobDescriptor will generate a random job descriptor string.
JobLevel will generate a random job level string.
JobTitle will generate a random job title string.
JSON generates an object or an array of objects in json format.
Language will return a random language.
LanguageAbbreviation will return a random language abbreviation.
LanguageBCP will return a random language BCP (Best Current Practices).
LastName will generate a random last name.
Latitude will generate a random latitude float64.
LatitudeInRange will generate a random latitude within the input range.
Letter will generate a single random lower case ASCII letter.
LetterN will generate a random ASCII string with length N.
Lexify will replace ? with random generated letters.
LogLevel will generate a random log level See data/LogLevels for list of available levels.
Longitude will generate a random longitude float64.
LongitudeInRange will generate a random longitude within the input range.
LoremIpsumParagraph will generate a random paragraphGenerator.
LoremIpsumSentence will generate a random sentence.
LoremIpsumWord will generate a random word.
Lunch will return a random lunch name.
MacAddress will generate a random mac address.
Map will generate a random set of map data.
Markdown will return a single random Markdown template document.
MiddleName will generate a random middle name.
MinecraftAnimal will generate a random Minecraft animal.
MinecraftArmorPart will generate a random Minecraft armor part.
MinecraftArmorTier will generate a random Minecraft armor tier.
MinecraftBiome will generate a random Minecraft biome.
MinecraftDye will generate a random Minecraft dye.
MinecraftFood will generate a random Minecraft food.
MinecraftMobBoss will generate a random Minecraft mob boss.
MinecraftMobHostile will generate a random Minecraft mob hostile.
MinecraftMobNeutral will generate a random Minecraft mob neutral.
MinecraftMobPassive will generate a random Minecraft mob passive.
MinecraftOre will generate a random Minecraft ore.
MinecraftTool will generate a random Minecraft tool.
MinecraftVillagerJob will generate a random Minecraft villager job.
MinecraftVillagerLevel will generate a random Minecraft villager level.
MinecraftVillagerStation will generate a random Minecraft villager station.
MinecraftWeapon will generate a random Minecraft weapon.
MinecraftWeather will generate a random Minecraft weather.
MinecraftWood will generate a random Minecraft wood.
Minute will generate a random minute.
Month will generate a random month int.
MonthString will generate a random month string.
Name will generate a random First and Last Name.
NamePrefix will generate a random name prefix.
NameSuffix will generate a random name suffix.
NanoSecond will generate a random nano second.
New creates and returns a new Faker struct seeded with a given seed using the PCG algorithm in lock mode for thread safety.
NewFaker takes in a rand.Source and thread lock state and returns a new Faker struct.
NewMapParams will create a new MapParams.
NiceColor will generate a random safe color string.
Noun will generate a random noun.
NounAbstract will generate a random abstract noun.
NounCollectiveAnimal will generate a random collective noun animal.
NounCollectivePeople will generate a random collective noun person.
NounCollectiveThing will generate a random collective noun thing.
NounCommon will generate a random common noun.
NounConcrete will generate a random concrete noun.
NounCountable will generate a random countable noun.
NounDeterminer will generate a random noun determiner.
NounProper will generate a random proper noun.
NounUncountable will generate a random uncountable noun.
Number will generate a random number between given min and max.
Numerify will replace # with random numerical values.
OperaUserAgent will generate a random opera browser user agent string.
Paragraph will generate a random paragraphGenerator.
Password will generate a random password.
PastDate will generate a random past time.Time struct.
Person will generate a struct with person information.
PetName will return a random fun pet name.
Phone will generate a random phone number string.
PhoneFormatted will generate a random phone number string.
Phrase will return a random phrase.
PhraseAdverb will return a random adverb phrase.
PhraseNoun will return a random noun phrase.
PhrasePreposition will return a random preposition phrase.
PhraseVerb will return a random preposition phrase.
Preposition will generate a random preposition.
PrepositionCompound will generate a random compound preposition.
PrepositionDouble will generate a random double preposition.
PrepositionSimple will generate a random simple preposition.
Price will take in a min and max value and return a formatted price.
Product will generate a random set of product information.
ProductAudience will generate a random target audience.
ProductBenefit will generate a random product benefit.
ProductCategory will generate a random product category.
ProductDescription will generate a random product description.
ProductDimension will generate a random product dimension.
ProductFeature will generate a random product feature.
ProductMaterial will generate a random product material.
ProductName will generate a random product name.
ProductSuffix will generate a random product suffix.
ProductUPC will generate a random product UPC.
ProductUseCase will generate a random product use case.
ProgrammingLanguage will return a random programming language.
Pronoun will generate a random pronoun.
PronounDemonstrative will generate a random demonstrative pronoun.
PronounIndefinite will generate a random indefinite pronoun.
PronounInterrogative will generate a random interrogative pronoun.
PronounObject will generate a random object pronoun.
PronounPersonal will generate a random personal pronoun.
PronounPossessive will generate a random possessive pronoun.
PronounReflective will generate a random reflective pronoun.
PronounRelative will generate a random relative pronoun.
Question will return a random question.
Quote will return a random quote from a random person.
RandomInt will take in a slice of int and return a randomly selected value.
RandomMapKey will return a random key from a map.
RandomString will take in a slice of string and return a randomly selected value.
RandomUint will take in a slice of uint and return a randomly selected value.
Regex will generate a string based upon a RE2 syntax.
RemoveFuncLookup will remove a function from lookup.
RGBColor will generate a random int slice color.
SafariUserAgent will generate a random safari browser user agent string.
SafeColor will generate a random safe color string.
School will generate a random School type.
Second will generate a random second.
Seed attempts to seed the GlobalFaker with the given seed.
Sentence will generate a random sentence.
SentenceSimple will generate a random simple sentence.
ShuffleAnySlice takes in a slice and outputs it in a random order.
ShuffleInts will randomize a slice of ints.
ShuffleStrings will randomize a slice of strings.
Slice fills built-in types and exported fields of a struct with random data.
Slogan will generate a random company slogan.
Snack will return a random snack name.
SSN will generate a random Social Security Number.
State will generate a random state string.
StateAbr will generate a random abbreviated state string.
Street will generate a random address street string.
StreetName will generate a random address street name string.
StreetNumber will generate a random address street number string.
StreetPrefix will generate a random address street prefix string.
StreetSuffix will generate a random address street suffix string.
Struct fills in exported fields of a struct with random data based on the value of `fake` tag of exported fields or with the result of a call to the Fake() method if the field type implements `Fakeable`.
Generate a random svg generator.
Teams takes in an array of people and team names and randomly places the people into teams as evenly as possible.
Template generates an document based on the the supplied template.
TimeZone will select a random timezone string.
TimeZoneAbv will select a random timezone abbreviation string.
TimeZoneFull will select a random full timezone string.
TimeZoneOffset will select a random timezone offset.
TimeZoneRegion will select a random region style timezone string, e.g.
Uint will generate a random uint value.
Uint16 will generate a random uint16 value.
Uint32 will generate a random uint32 value.
Uint64 will generate a random uint64 value.
Uint8 will generate a random uint8 value.
UintN will generate a random uint value between 0 and n.
UintRange will generate a random uint value between min and max.
URL will generate a random url string.
UserAgent will generate a random broswer user agent.
Username will generate a random username based upon picking a random lastname and random numbers at the end.
UUID (version 4) will generate a random unique identifier based upon random numbers Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
Vegetable will return a random vegetable name.
Verb will generate a random verb.
VerbAction will generate a random action verb.
VerbHelping will generate a random helping verb.
VerbIntransitive will generate a random intransitive verb.
VerbLinking will generate a random linking verb.
VerbTransitive will generate a random transitive verb.
Vowel will generate a single random lower case vowel.
WeekDay will generate a random weekday string (Monday-Sunday).
Weighted will take in an array of options and weights and return a random selection based upon its indexed weight.
Word will generate a random word.
XML generates an object or an array of objects in json format A nil XMLOptions returns a randomly structured XML.
Year will generate a random year between 1900 - current year.
Zip will generate a random Zip code string.

# Variables

FuncLookups is the primary map array with mapping to all available data.
Create global variable to deal with global function call.

# Structs

AddressInfo is a struct full of address information.
CarInfo is a struct dataset of all car information.
ContactInfo struct full of contact info.
CreditCardInfo is a struct containing credit variables.
CreditCardOptions is the options for credit card number.
CSVOptions defines values needed for csv generation.
CurrencyInfo is a struct of currency information.
EmailOptions defines values needed for email document generation.
Faker struct is the primary struct for using localized.
Field is used for defining what name and function you to generate for file outuputs.
FixedWidthOptions defines values needed for csv generation.
Info structures fields to better break down what each one generates.
JobInfo is a struct of job information.
JSONOptions defines values needed for json generation.
MarkdownOptions defines values needed for markdown document generation.
Param is a breakdown of param requirements and type definition.
PersonInfo is a struct of person information.
TemplateOptions defines values needed for template document generation.
XMLOptions defines values needed for json generation.

# Interfaces

Fakeable is an interface that can be implemented by a type to provide a custom fake value.

# Type aliases

MapParams is the values to pass into a lookup generate.