大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说【Go】连接本地MySQL读取数据「建议收藏」,希望您对编程的造诣更进一步.
如题。对Go的网页请求参数有一些了解,从头开始呗。
数据库的goods表
package main import ( "fmt" "log" "net/http" "strconv" "database/sql" _ "github.com/go-sql-driver/mysql" ) func AddHandler(w http.ResponseWriter, r *http.Request) { vars := r.URL.Query() a := vars.Get("para") b := vars.Get("para2") inta, _ := strconv.Atoi(a) intb, _ := strconv.Atoi(b) fmt.Println(r.Method, r.URL, r.Host, vars) fmt.Println(r.Proto) fmt.Fprintln(w, inta+intb) } type Good struct { Name string Count string Price string } func CheckErr(err error, paras ...string) { if err != nil { for _, val := range paras { log.Println(val) } log.Fatal(err) } } func main() { db, _ := sql.Open("mysql", "root:[email protected](127.0.0.1:3306)/mysql") defer db.Close() err := db.Ping() CheckErr(err, "SQLErr") log.Println("Success") query := "select * from goods" rows, _ := db.Query(query) var id, name, count, price string var nameCount map[string] int nameCount = make(map[string]int) for rows.Next() { rows.Scan(&id, &name, &count, &price) _count, err := strconv.Atoi(count) CheckErr(err, id, name, count, price) _, ok := nameCount[name] if (ok) { nameCount[name] += _count } else { nameCount[name] = _count } } for k, v := range nameCount { fmt.Println(k, v) } http.HandleFunc("/", AddHandler) log.Println("Listen : 15233") err = http.ListenAndServe("0.0.0.0:15233", nil) CheckErr(err, "ListenErr") fmt.Println("Start open") }
代码100分
View Code
运行命令: go run test.go
浏览器地址输入 localhost:15233。
【Go】连接本地MySQL读取数据
原文:https://www.cnblogs.com/zhouys96/p/12793268.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8758.html