要sqlx包,需要先安裝
//連線資料庫
func init()
}type member struct
func select()
fmt.println(info)
//查詢多條
var list member
err=db.select(&list,"select username,money,birthday from member")
if err != nil
fmt.println(list)
}func insert()
id,err:=result.lastinsertid()
if err != nil
fmt.println(id)
}func update()
rows,err:=result.rowsaffected()
if err != nil
fmt.println(rows)
}func delete()
rows,err:=result.rowsaffected()
if err != nil
fmt.println(rows)
}func transaction()
defer cleartransaction(db) //如果出現了異常,導致沒有 commit和rollback,可以用來收尾
//1、
result,err:=db.exec("update member set money=money+3 where id=?",1)
if err!=nil
num,err:=result.rowsaffected()
if err != nil
fmt.println(num)
//2、
result,err=db.exec("update member set money=money-3 where id=?",2)
if err!=nil
num,err=result.rowsaffected()
if err != nil
db.commit()
}//事務回滾
func cleartransaction(tx *sql.tx)
}func main()
create table `member` (
`id` int(11) unsigned not null auto_increment,
`username` varchar(50) collate utf8mb4_unicode_ci not null,
`money` decimal(10,2) unsigned not null,
`birthday` date default null,
`created_at` int(11) unsigned not null,
primary key (`id`)
) engine=innodb auto_increment=7 default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='使用者表';
insert into `test`.`member` (`id`, `username`, `money`, `birthday`, `created_at`) values ('1', 'mrtwenty', '130.00', '2019-06-19', '1223');
insert into `test`.`member` (`id`, `username`, `money`, `birthday`, `created_at`) values ('2', 'zhao', '80.00', null, '2323');
sqlx是基於標準庫database/sql的擴充套件 Go連線資料庫以及sqlx包使用
mysql 連線 連線 func initdb err error err db.ping 嘗試連線資料庫 驗證賬號密碼 if err nil 設定連線池中最大的連線數 設定連線池中的最大閒置連線數 return crud type user struct 單行查詢 func queryone id...
golang官方rpc包的使用
rpc remote rrocedure call,遠端過程呼叫 是乙個計算機通訊協議。rpc協議假定某些傳輸協議的存在,如tcp和udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc採用c s模式,請求程式就是乙個客戶機,而服務提供程式就是乙個伺服器。首先...
Golang 閉包的簡單使用
基本介紹 示例package main import fmt func main func add func int int 網上有乙個閉包的最佳實踐,抄來用一下.package main import fmt strings func main func makesuffix suffix str...