func randomFrom(source []string) string {
	return source[seedAndReturnRandom(len(source))]
}
Returns a random part of a slice
package randomdata
import (
	"encoding/json"
	"fmt"
	"log"
	"math/rand"
	"strconv"
	"strings"
	"time"
	"unicode"
)
const (
	Male         int = 0
	Female       int = 1
	RandomGender int = 2
)
const (
	Small int = 0
	Large int = 1
)
const (
	FullCountry      = 0
	TwoCharCountry   = 1
	ThreeCharCountry = 2
)
type jsonContent struct {
	Adjectives          []string `json:adjectives`
	Nouns               []string `json:nouns`
	FirstNamesFemale    []string `json:firstNamesFemale`
	FirstNamesMale      []string `json:firstNamesMale`
	LastNames           []string `json:lastNames`
	Domains             []string `json:domains`
	People              []string `json:people`
	StreetTypes         []string `json:streetTypes`  
	Paragraphs          []string `json:paragraphs`   
	Countries           []string `json:countries`    
	CountriesThreeChars []string `json:countriesThreeChars`
	CountriesTwoChars   []string `json:countriesTwoChars`
	Currencies          []string `json:currencies`  
	Cities              []string `json:cities`
	States              []string `json:states`
	StatesSmall         []string `json:statesSmall`
	Days                []string `json:days`
	Months              []string `json:months`
}
var jsonData = jsonContent{}
func init() {
	jsonData = jsonContent{}
	err := json.Unmarshal(data, &jsonData)
	if err != nil {
		log.Fatal(err)
	}
}
func seedAndReturnRandom(n int) int {
	rand.Seed(time.Now().UnixNano())
	return rand.Intn(n)
}
func seedAndReturnRandomFloat() float64 {
	rand.Seed(time.Now().UnixNano())
	return rand.Float64()
}