Skip to content

Pallinder/go-randomdata

Repository files navigation

go-randomdata

contributions welcome GoDoc Build Status Go Report Card

randomdata is a tiny help suite for generating random data such as

  • first names (male or female)
  • last names
  • full names (male or female)
  • country names (full name or iso 3166.1 alpha-2 or alpha-3)
  • locales / language tags (bcp-47)
  • random email address
  • city names
  • American state names (two chars or full)
  • random numbers (in an interval)
  • random paragraphs
  • random bool values
  • postal- or zip-codes formatted for a range of different countries.
  • american sounding addresses / street names
  • silly names - suitable for names of things
  • random days
  • random months
  • random full date
  • random full profile
  • random date inside range
  • random phone number

Installation

go get github.com/Pallinder/go-randomdata

Usage

package main import ( "fmt" "github.com/Pallinder/go-randomdata" ) func main() { // Print a random silly name fmt.Println(randomdata.SillyName()) // Print a male title fmt.Println(randomdata.Title(randomdata.Male)) // Print a female title fmt.Println(randomdata.Title(randomdata.Female)) // Print a title with random gender fmt.Println(randomdata.Title(randomdata.RandomGender)) // Print a male first name fmt.Println(randomdata.FirstName(randomdata.Male)) // Print a female first name fmt.Println(randomdata.FirstName(randomdata.Female)) // Print a last name fmt.Println(randomdata.LastName()) // Print a male name fmt.Println(randomdata.FullName(randomdata.Male)) // Print a female name fmt.Println(randomdata.FullName(randomdata.Female)) // Print a name with random gender fmt.Println(randomdata.FullName(randomdata.RandomGender)) // Print an email fmt.Println(randomdata.Email()) // Print a country with full text representation fmt.Println(randomdata.Country(randomdata.FullCountry)) // Print a country using ISO 3166-1 alpha-2 fmt.Println(randomdata.Country(randomdata.TwoCharCountry)) // Print a country using ISO 3166-1 alpha-3 fmt.Println(randomdata.Country(randomdata.ThreeCharCountry)) // Print BCP 47 language tag fmt.Println(randomdata.Locale()) // Print a currency using ISO 4217 fmt.Println(randomdata.Currency()) // Print the name of a random city fmt.Println(randomdata.City()) // Print the name of a random american state fmt.Println(randomdata.State(randomdata.Large)) // Print the name of a random american state using two chars fmt.Println(randomdata.State(randomdata.Small)) // Print an american sounding street name fmt.Println(randomdata.Street()) // Print an american sounding address fmt.Println(randomdata.Address()) // Print a random number >= 10 and < 20 fmt.Println(randomdata.Number(10, 20)) // Print a number >= 0 and < 20 fmt.Println(randomdata.Number(20)) // Print a random float >= 0 and < 20 with decimal point 3 fmt.Println(randomdata.Decimal(0, 20, 3)) // Print a random float >= 10 and < 20 fmt.Println(randomdata.Decimal(10, 20)) // Print a random float >= 0 and < 20 fmt.Println(randomdata.Decimal(20)) // Print a bool fmt.Println(randomdata.Boolean()) // Print a paragraph fmt.Println(randomdata.Paragraph()) // Print a postal code fmt.Println(randomdata.PostalCode("SE")) // Print a set of 2 random numbers as a string fmt.Println(randomdata.StringNumber(2, "-")) // Print a set of 2 random 3-Digits numbers as a string fmt.Println(randomdata.StringNumberExt(2, "-", 3)) // Print a random string sampled from a list of strings fmt.Println(randomdata.StringSample("my string 1", "my string 2", "my string 3")) // Print a valid random IPv4 address fmt.Println(randomdata.IpV4Address()) // Print a valid random IPv6 address fmt.Println(randomdata.IpV6Address()) // Print a browser's user agent string fmt.Println(randomdata.UserAgentString()) // Print a day fmt.Println(randomdata.Day()) // Print a month fmt.Println(randomdata.Month()) // Print full date like Monday 22 Aug 2016 fmt.Println(randomdata.FullDate()) // Print full date <= Monday 22 Aug 2016 fmt.Println(randomdata.FullDateInRange("2016-08-22")) // Print full date >= Monday 01 Aug 2016 and <= Monday 22 Aug 2016 fmt.Println(randomdata.FullDateInRange("2016-08-01", "2016-08-22")) // Print phone number according to e.164 fmt.Println(randomdata.PhoneNumber()) // Get a complete and randomised profile of data generally used for users // There are many fields in the profile to use check the Profile struct definition in fullprofile.go profile := randomdata.GenerateProfile(randomdata.Male | randomdata.Female | randomdata.RandomGender) fmt.Printf("The new profile's username is: %s and password (md5): %s\n", profile.Login.Username, profile.Login.Md5) // Get a random country-localised street name for Great Britain fmt.Println(randomdata.StreetForCountry("GB")) // Get a random country-localised street name for USA fmt.Println(randomdata.StreetForCountry("US")) // Get a random country-localised province for Great Britain fmt.Println(randomdata.ProvinceForCountry("GB")) // Get a random country-localised province for USA fmt.Println(randomdata.ProvinceForCountry("US")) }

Versioning / Release Strategy

Go-Randomdata follows Semver

You can find current releases tagged under the releases section.

The CHANGELOG.md file contains the changelog of the project.

Contributors

All the other contributors are listed here.

About

A tiny generator of random data for golang, also known as a faker

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 25

Languages