今天总结了一些Golang的基本用法,作为记录在此!
package main import ( "database/sql" "fmt" "io/IoUtil" "log" _ "MysqL-master/MysqL-master" "net/http" "strings" ) func httpGet(url string) { resp,err := http.Get(url) if err != nil { // handle error } defer resp.Body.Close() body,err := IoUtil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) } func httpPost(url string) { resp,err := http.Post(url,"application/x-www-form-urlencoded",strings.NewReader("name=cjb")) if err != nil { fmt.Println(err) } defer resp.Body.Close() body,err := IoUtil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) } func getConn() *sql.DB { //db,err := sql.Open("MysqL","root:1234@tcp(localhost:3306)/psmdb") db,"root:1234@tcp(localhost:3306)/psmdb") if err != nil { //log.Println(err) } err = db.Ping() if err != nil { log.Fatal(err) } println("connection MysqL success.") return db } func query(db *sql.DB) { rows,err := db.Query("select id,username from psm_user where username = ?","changeit") if err != nil { log.Println(err) } defer rows.Close() var id int var name string for rows.Next() { err := rows.Scan(&id,&name) if err != nil { log.Fatal(err) } fmt.Println("id:",id,",name:",name) } err = rows.Err() if err != nil { log.Fatal(err) } fmt.Println("query success") } func insert(db *sql.DB) { stmt,err := db.Prepare("INSERT INTO psm_user(username,password) VALUES(?,?)") defer stmt.Close() if err != nil { log.Println(err) } stmt.Exec("changeit","1234") fmt.Println("insert success") } func delete(db *sql.DB) { tx,_ := db.Begin() stmt,err := db.Prepare("DELETE FROM psm_user WHERE username=?") stmt.Exec("changeit") defer stmt.Close() if err != nil { // hand err tx.Rollback() fmt.Println("delete error") } tx.Commit() fmt.Println("delete success") } func update(db *sql.DB) { tx,err := db.Prepare("update psm_user set username = ?,password = ?") stmt.Exec("changeit") stmt.Exec("1234") defer stmt.Close() if err != nil { // hand err tx.Rollback() fmt.Println("update error") } tx.Commit() fmt.Println("update success") } func main() { httpGet("http://localhost:8088/SpringDemo/home/users/1") httpPost("http://localhost:8088/SpringDemo/home/user") db := getConn() insert(db) query(db) update(db) delete(db) }结果输出:
[ `go run main.go` | done: 5.25s ] {"id":1,"username":"admin","password":"1234"} {"id":2,"username":"hpe4test","password":"1234"} insert success id: 7,name: changeit query success update success delete success connection MysqL success. [ C:/MyGo/src/ ] #
注:
驱动下载地址:https://github.com/go-sql-driver/MysqL/ 原文链接:https://www.f2er.com/go/189836.html