ag_tools/cmd/hail.go

40 lines
969 B
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package cmd
import (
"fmt"
"archgrid.xyz/ag/toolsbox/serial_code/hail"
"github.com/spf13/cobra"
)
var (
hailHostSerial int64
hailPrefix string
)
var hailCmd = &cobra.Command{
Use: "hail",
Short: "使用冰雹ID生成算法生成一个唯一ID",
Run: hailGenerateExecute,
}
func hailGenerateExecute(cmd *cobra.Command, args []string) {
hail.Initialize(hailHostSerial)
engine, err := hail.Get()
if err != nil {
fmt.Printf("未能初始化冰雹ID生成器: %s\n", err)
return
}
if len(hailPrefix) > 0 {
fmt.Printf("生成的ID%s\n", engine.GeneratePrefixedString(hailPrefix))
} else {
fmt.Printf("生成的ID%s\n", engine.GenerateString())
}
}
func init() {
hailCmd.Flags().Int64VarP(&hailHostSerial, "host-serial", "s", 1, "设定冰雹ID生成器的主机编号默认为1。")
hailCmd.Flags().StringVarP(&hailPrefix, "prefix", "p", "", "设定生成的ID的前缀内容默认为空。")
rootCmd.AddCommand(hailCmd)
}