1package fake 2 3import ( 4 "strings" 5) 6 7// Character generates random character in the given language 8func Character() string { 9 return lookup(lang, "characters", true) 10} 11 12// CharactersN generates n random characters in the given language 13func CharactersN(n int) string { 14 var chars []string 15 for i := 0; i < n; i++ { 16 chars = append(chars, Character()) 17 } 18 return strings.Join(chars, "") 19} 20 21// Characters generates from 1 to 5 characters in the given language 22func Characters() string { 23 return CharactersN(r.Intn(5) + 1) 24} 25 26// Word generates random word 27func Word() string { 28 return lookup(lang, "words", true) 29} 30 31// WordsN generates n random words 32func WordsN(n int) string { 33 words := make([]string, n) 34 for i := 0; i < n; i++ { 35 words[i] = Word() 36 } 37 return strings.Join(words, " ") 38} 39 40// Words generates from 1 to 5 random words 41func Words() string { 42 return WordsN(r.Intn(5) + 1) 43} 44 45// Title generates from 2 to 5 titleized words 46func Title() string { 47 return strings.ToTitle(WordsN(2 + r.Intn(4))) 48} 49 50// Sentence generates random sentence 51func Sentence() string { 52 var words []string 53 for i := 0; i < 3+r.Intn(12); i++ { 54 word := Word() 55 if r.Intn(5) == 0 { 56 word += "," 57 } 58 words = append(words, Word()) 59 } 60 61 sentence := strings.Join(words, " ") 62 63 if r.Intn(8) == 0 { 64 sentence += "!" 65 } else { 66 sentence += "." 67 } 68 69 return sentence 70} 71 72// SentencesN generates n random sentences 73func SentencesN(n int) string { 74 sentences := make([]string, n) 75 for i := 0; i < n; i++ { 76 sentences[i] = Sentence() 77 } 78 return strings.Join(sentences, " ") 79} 80 81// Sentences generates from 1 to 5 random sentences 82func Sentences() string { 83 return SentencesN(r.Intn(5) + 1) 84} 85 86// Paragraph generates paragraph 87func Paragraph() string { 88 return SentencesN(r.Intn(10) + 1) 89} 90 91// ParagraphsN generates n paragraphs 92func ParagraphsN(n int) string { 93 var paragraphs []string 94 for i := 0; i < n; i++ { 95 paragraphs = append(paragraphs, Paragraph()) 96 } 97 return strings.Join(paragraphs, "\t") 98} 99 100// Paragraphs generates from 1 to 5 paragraphs 101func Paragraphs() string { 102 return ParagraphsN(r.Intn(5) + 1) 103} 104