89407707 2020-06-27
具体代码如下:
package main import ( "database/sql" "fmt" "log" "reflect" "net/http" _ "github.com/lib/pq" ) type sys_user struct { su_id int su_name string su_gender string su_age int su_address string su_im string su_regtime string } func main() { var su []sys_user var Suaction sys_user = sys_user{} db, err := sql.Open("postgres", "user=admin password=123456 dbname=test sslmode=disable") if err != nil { log.Println("Open error.") log.Println(err) } defer db.Close() rows, err := db.Query("SELECT * FROM sys_user") if err != nil { log.Println("Query error.") log.Println(err) } for rows.Next() { err = rows.Scan( &Suaction.su_id, &Suaction.su_name, &Suaction.su_gender, &Suaction.su_age, &Suaction.su_address, &Suaction.su_im, &Suaction.su_regtime, ) if err != nil { log.Println("Scan error.") log.Println(err) } su = append(su, Suaction) } for _, v := range su { v1 := reflect.ValueOf(v) for i := 0; i < v1.NumField(); i++ { fmt.Printf("%40v |", v1.Field(i)) } fmt.Println() } http.HandleFunc("/readcookie", ReadCookie) http.HandleFunc("/writecookie", WriteCookie) http.HandleFunc("/deletecookie", DeleteCookie) http.ListenAndServe(":9090", nil) } func WriteCookie(w http.ResponseWriter,r *http.Request) { //创建新的本地cookie cookie := http.Cookie{Name:"merrynuts",Value:"education",Path:"/",MaxAge:86400} http.SetCookie(w,&cookie) w.Write([]byte("设置cookie成功")) } func ReadCookie(w http.ResponseWriter,r *http.Request) { //读取cookie cookie,err := r.Cookie("merrynuts") if err == nil { cookieValue := cookie.Value //将数据写入http连接中 w.Write([]byte("cookie的值为:"+cookieValue)) }else { w.Write([]byte("读取cookie出错:"+err.Error())) } } func DeleteCookie(w http.ResponseWriter,r *http.Request) { cookie := http.Cookie{Name:"merrynuts",Path:"/",MaxAge:-1} http.SetCookie(w,&cookie) w.Write([]byte("删除cookie成功")) }