golang学习---练习2

2015-11-04  本文已影响65人  ParkinWu

第 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
}
上一篇下一篇

猜你喜欢

热点阅读