@@ -11,6 +11,7 @@ type PersonInfo struct {
1111 FirstName string `json:"first_name" xml:"first_name"`
1212 LastName string `json:"last_name" xml:"last_name"`
1313 Gender string `json:"gender" xml:"gender"`
14+ Age int `json:"age" xml:"age"`
1415 SSN string `json:"ssn" xml:"ssn"`
1516 Hobby string `json:"hobby" xml:"hobby"`
1617 Job * JobInfo `json:"job" xml:"job"`
@@ -30,6 +31,7 @@ func person(f *Faker) *PersonInfo {
3031 FirstName : firstName (f ),
3132 LastName : lastName (f ),
3233 Gender : gender (f ),
34+ Age : age (f ),
3335 SSN : ssn (f ),
3436 Hobby : hobby (f ),
3537 Job : job (f ),
@@ -89,6 +91,14 @@ func (f *Faker) NameSuffix() string { return nameSuffix(f) }
8991
9092func nameSuffix (f * Faker ) string { return getRandValue (f , []string {"person" , "suffix" }) }
9193
94+ // Age will generate a random age between 0 and 100
95+ func Age () int { return age (GlobalFaker ) }
96+
97+ // Age will generate a random age between 0 and 100
98+ func (f * Faker ) Age () int { return age (f ) }
99+
100+ func age (f * Faker ) int { return randIntRange (f , 0 , 100 ) }
101+
92102// SSN will generate a random Social Security Number
93103func SSN () string { return ssn (GlobalFaker ) }
94104
@@ -270,6 +280,7 @@ func addPersonLookup() {
270280 "first_name": "Markus",
271281 "last_name": "Moen",
272282 "gender": "male",
283+ "age": 30,
273284 "ssn": "275413589",
274285 "image": "https://picsum.photos/208/500",
275286 "hobby": "Lacrosse",
@@ -450,7 +461,7 @@ func addPersonLookup() {
450461 Generate : func (f * Faker , m * MapParams , info * Info ) (any , error ) { return lastName (f ), nil },
451462 })
452463
453- // gender (keep terms neutral and search-friendly)
464+ // gender
454465 AddFuncLookup ("gender" , Info {
455466 Display : "Gender" ,
456467 Category : "person" ,
@@ -471,7 +482,25 @@ func addPersonLookup() {
471482 Generate : func (f * Faker , m * MapParams , info * Info ) (any , error ) { return gender (f ), nil },
472483 })
473484
474- // ssn (us)
485+ // age
486+ AddFuncLookup ("age" , Info {
487+ Display : "Age" ,
488+ Category : "person" ,
489+ Description : "The number of years a person has lived" ,
490+ Example : "40" ,
491+ Output : "int" ,
492+ Aliases : []string {
493+ "age of person" , "person age" , "age of individual" , "years old" , "years of age" ,
494+ },
495+ Keywords : []string {
496+ "years" , "old" , "birthday" , "birthdate" , "birth-date" ,
497+ "lifespan" , "maturity" , "elderly" , "young" , "adult" , "teenager" , "child" ,
498+ "senior" , "juvenile" , "minor" , "majority" , "minority" , "generation" ,
499+ },
500+ Generate : func (f * Faker , m * MapParams , info * Info ) (any , error ) { return age (f ), nil },
501+ })
502+
503+ // ssn
475504 AddFuncLookup ("ssn" , Info {
476505 Display : "SSN" ,
477506 Category : "person" ,
0 commit comments