美文网首页
golang学习---练习2

golang学习---练习2

作者: ParkinWu | 来源:发表于2015-11-04 14:30 被阅读65次

    第 0002 题:将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。


    1. 创建优惠券表
    mysql> create table promotion_code (
        -> promotion_code varchar(255),
        -> used bool,
        -> );
    
    1. 生成优惠码(golang学习---练习1)
    2. 将生成的优惠码存入,mysql
    package main
    import (
        "database/sql"
        "fmt"
        _ "github.com/go-sql-driver/mysql"
        "log"
        "time"
        "math/rand"
        "encoding/base64"
    )
    
    func main() {
    
        codes := generate_code()
        fmt.Println(codes)
        db, err := sql.Open("mysql", "mysql:123456@/gotest?charset=utf8")
        defer db.Close()
        if err != nil {
            log.Fatal(err)
        }
    
        for _, code := range codes  {
            stmt, err := db.Prepare("insert into promotion_code (promotion_code, used) values (?, ?)")
            if err != nil {
                log.Fatal(err)
            }
    
            _, err = stmt.Exec(code, false)
            if err != nil {
                log.Println(err)
            }
        }
    
    
    }
    /*
    生成优惠码
    */
    func generate_code() []string {
        var codes []string
        for i := 0; i < 200; i++ {
            //
            randNum := rand.Int()
            //获取纳秒
            t := time.Now().UnixNano()
            result := fmt.Sprint(randNum) + fmt.Sprint(t)
            encoded := base64.StdEncoding.EncodeToString([]byte(result))
            codes = append(codes, encoded)
        }
        return codes
    }
    

    相关文章

      网友评论

          本文标题:golang学习---练习2

          本文链接:https://www.haomeiwen.com/subject/aqnqhttx.html