1 Star 0 Fork 0

力行 / namegenerator

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
generator.go 1.65 KB
一键复制 编辑 原始数据 按行查看 历史
力行 提交于 2023-09-01 16:31 . update
// Copyright 2018, Goomba project Authors. All rights reserved.
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with this
// work for additional information regarding copyright ownership. The ASF
// licenses this file to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
package namegenerator
import (
"fmt"
"math/rand"
)
// Generator ...
type Generator interface {
Generate(names ...string) string
}
// NameGenerator ...
type NameGenerator struct {
random *rand.Rand
result string
}
func (rn *NameGenerator) InitData() {
}
// Generate ...
func (rn *NameGenerator) Generate(names ...string) (rname string) {
if len(names) == 0 {
randomAdjective := ADJECTIVES[rn.random.Intn(len(ADJECTIVES))]
randomNoun := NOUNS[rn.random.Intn(len(NOUNS))]
rname = fmt.Sprintf("%v-%v", randomAdjective, randomNoun)
} else {
rname = names[rn.random.Intn(len(names))]
}
return
}
// NewNameGenerator ...
func NewNameGenerator(seed int64) Generator {
nameGenerator := &NameGenerator{
random: rand.New(rand.New(rand.NewSource(99))),
}
nameGenerator.random.Seed(seed)
return nameGenerator
}
1
https://gitee.com/gene-zhao/namegenerator.git
git@gitee.com:gene-zhao/namegenerator.git
gene-zhao
namegenerator
namegenerator
081403219a69

搜索帮助