Write the Code. Change the World.

4月 26

goframe 生成不重复的 7 位数字,并和数据库 user 表中字段不重复

func generateUniqueID() int {
    src := rand.NewSource(time.Now().UnixNano())
    min := 1000000
    max := 10000000
    return rand.New(src).Intn(max-min) + min
}

func generateUniqueViewID(ctx context.Context) (int, error) {
    for {
        viewId := generateUniqueID()
        id, err := dao.Users.Ctx(ctx).Where(do.Users{Viewid: viewId}).Fields("id").Value()
        if err != nil {
            return 0, err
        }

        if id == nil {
            return viewId, nil
        }
    }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注