今天总结了一些Golang的基本用法,作为记录在此!

package mainimport ("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, err := sql.Open("mysql", "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 intvar name stringfor 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 errtx.Rollback()fmt.Println("delete error")}tx.Commit()fmt.Println("delete success")
}func update(db *sql.DB) {tx, _ := db.Begin()stmt, err := db.Prepare("update psm_user set username = ? , password = ?")stmt.Exec("changeit")stmt.Exec("1234")defer stmt.Close()if err != nil {// hand errtx.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 successid: 7 ,name: changeitquery successupdate successdelete successconnection mysql success.
[ C:/MyGo/src/ ] # 

注:

驱动下载地址:https://github.com/go-sql-driver/mysql/

下载方式: 执行命令:go get github.com/go-sql-driver/mysql

Golang - Mysql ang Http Basic fucntions相关推荐

  1. golang mysql 如何设置最大连接数和最大空闲连接数

    本文介绍golang 中连接MySQL时,如何设置最大连接数和最大空闲连接数. 关于最大连接数和最大空闲连接数,是定义在golang标准库中database/sql的. 文中例子连接MySQL用的SQ ...

  2. golang mysql 错误 sql: unknown driver “mysql“ (forgotten import?) 解决方法

    golang中使用gorm连接mysql的时候会报错:sql: unknown driver "mysql" (forgotten import?) 需要在连接数据库的文件中引入  ...

  3. golang mysql 基本操作

    导入数据库驱动 import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql"& ...

  4. golang mysql 事务_golang的嵌套事务管理-Go语言中文社区

    golang的事务管理是一件很麻烦的事,,能不能像Java那样,通过Spring管理事务,最近琢磨了一下,写了一个demo,用来管理golang的事务,使其支持golang事务的嵌套调用. 其思想很简 ...

  5. golang mysql商业用例_完美起航-golang操作mysql用例

    golang操作mysql的demo,直接上代码 package main import ( "database/sql" "fmt" _ "gith ...

  6. golang MySQL 占内存_golang操作mysql使用总结

    前言 Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能: sql.DB 通过数据库驱动为我们提供管理底层 ...

  7. golang mysql 崩溃_mysql连接问题,goruntime里执行总是出错,程序一直崩溃

    初学golang,尝试写一个程序,但是在mysql操作时遇到了问题~ 看网上文章,推荐mysql直接创建一个db全局变量,然后连接一次,以后使用到直接用这个db,我按照这样的方法,然后进行操作,可是程 ...

  8. golang mysql 插入_Mysql学习(一)添加一个新的用户并用golang操作Mysql

    Mysql添加一个新的用户并赋予权限 添加一个自己的用户到mysql 首先我们需要先用root用户登录mysql,但是刚安装完没有密码,我们先跳过密码 ailumiyana@ailumiyana:~/ ...

  9. golang mysql 自动建表_mysql表结构自动生成golang struct

    a lib for golang , generate mysql table schema to golang struct mysql表结构自动生成golang struct github地址 安 ...

最新文章

  1. js进阶正则表达式方括号(方括号作用)(js正则是在双正斜杠之中:/[a-z]/g)...
  2. java 委托机制_通过反射实现Java下的委托机制代码详解
  3. Python学习:numpy点乘,按元素相乘,以及转置的处理
  4. 7-7 字符串修改 (15 分)
  5. 【Tools】Visual Studio 2019专业版下载和安装
  6. php获取特殊标签,thinkphp特殊标签使用
  7. java第一阶段知识_第一阶段 Java语言(下)
  8. data为long 怎么设置vue_vue--为什么data属性必须是一个函数
  9. 英特尔再爆重大芯片漏洞,苹果谷歌微软相继中招!
  10. expect脚本中,变量的写法
  11. 全国各地将推广电子证照,取代一证通
  12. oracle dbv验证,【案例】Oracle数据库verify验证块报错4 dbv报错代码:6101解决办法...
  13. GUI使用2——总结NGUI、tookit2D、GUI比较
  14. 30岁宝妈转行UI设计,后来怎么样了?
  15. ​浅谈 Java 后端开发工程师腾讯面试经历分享总结
  16. 电脑开机自动联服务器,如何让Mac开机自动连接到NAS或网上邻居上的电脑
  17. 脚本调试sh -x xx.sh、set -x
  18. 计算机中数值怎么比较大小,数值比较器,数值比较器的作用和原理是什么?
  19. AAAI 2022 | 改进YOLOv3!IA-YOLO:恶劣天气下的目标检测
  20. 2016年12月31日总结

热门文章

  1. 图书推荐系统(附源码链接)
  2. 金链盟中国区块链应用大赛正式启动,200万奖金花落谁家?
  3. 产业实现新一轮发展 固网宽带提速进行时
  4. split()方法的使用
  5. Node.js stream模块(一)可读流
  6. Differentially Private Deep Learning with Iterative Gradient Descent Optimization
  7. python爬虫实践报告_Python 爬虫实践:浅谈数据分析岗位
  8. 【*夜深了,无心睡眠*】
  9. 成都信息工程大学计算机网络技术题库,2017年成都信息工程大学计算机学院341农业知识综合三[专业硕士]之计算机网络考研题库...
  10. 利用免费API找到手机归属地