Golang包怎样获取,方法操作是什么
导读:今天这篇给大家分享的知识是“Golang包怎样获取,方法操作是什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“Golang包怎样获取,方法操作是什么”文章能帮助大家...
今天这篇给大家分享的知识是“Golang包怎样获取,方法操作是什么”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,因此分享发大家做个参考,下文的讲解详细,步骤过程清晰,希望这篇“Golang包怎样获取,方法操作是什么”文章能帮助大家解决问题。
1.获取远程包
go 语言有一个获取远程包的工具就是 go get,目前 go get 支持多数开源社区 (例如:github、googlecode、bitbucket、Launchpad)
例如:
go get github.com/astaxie/beedb
在pkg目录下tree /f可查看到安装的包如下所示:
2.应用
如下代码所示,可以应用远程下载的go第三方库文件,连接sqllite。
链接地址
package main
import (
"fmt"
"github.com/astaxie/beedb"
_ "github.com/mattn/go-sqlite3"
"time"
"database/sql"
)
/*
CREATE TABLE `userinfo` (
`uid` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` VARCHAR(64) NULL,
`departname` VARCHAR(64) NULL,
`created` DATE NULL
);
CREATE TABLE `userdeatail` (
`uid` INT(10) NULL,
`intro` TEXT NULL,
`profile` TEXT NULL,
PRIMARY KEY (`uid`)
);
*/
var orm beedb.Model
type Userinfo struct {
Uid int `beedb:"PK"`
Username string
Departname string
Created string
}
func main() {
db, err := sql.Open("sqlite3", "./asta.db")
if err != nil {
panic(err)
}
orm = beedb.New(db)
//insert()
//insertsql()
// a := selectone()
// fmt.Println(a)
// b := selectall()
// fmt.Println(b)
// update()
// updatesql()
// findmap()
// groupby()
// jointable()
// delete()
//deletesql()
//deleteall()
}
func insert() {
//save data
var saveone Userinfo
saveone.Username = "Test Add User"
saveone.Departname = "Test Add Departname"
saveone.Created = time.Now().Format("2006-01-02 15:04:05")
orm.Save(&
saveone)
fmt.Println(saveone)
}
func insertsql() {
// add one
add := make(map[string]interface{
}
)
add["username"] = "astaxie"
add["departname"] = "cloud develop"
add["created"] = "2012-12-02"
orm.SetTable("userinfo").Insert(add)
}
func selectone() Userinfo {
//get one info
var one Userinfo
orm.Where("uid=?", 1).Find(&
one)
return one
}
func selectall() []Userinfo {
//get all data
var alluser []Userinfo
orm.Limit(10).Where("uid>
?", 1).FindAll(&
alluser)
return alluser
}
func update() {
// //update data
var saveone Userinfo
saveone.Uid = 1
saveone.Username = "Update Username"
saveone.Departname = "Update Departname"
saveone.Created = time.Now().Format("2006-01-02 15:04:05")
orm.Save(&
saveone)
fmt.Println(saveone)
}
func updatesql() {
//original SQL update
t := make(map[string]interface{
}
)
t["username"] = "updateastaxie"
//update one
orm.SetTable("userinfo").SetPK("uid").Where(2).Update(t)
//update batch
orm.SetTable("userinfo").Where("uid>
?", 3).Update(t)
}
func findmap() {
//Original SQL Backinfo resultsSlice []map[string][]byte
//default PrimaryKey id
c, _ := orm.SetTable("userinfo").SetPK("uid").Where(2).Select("uid,username").FindMap()
fmt.Println(c)
}
func groupby() {
//Original SQL Group By
b, _ := orm.SetTable("userinfo").GroupBy("username").Having("username='updateastaxie'").FindMap()
fmt.Println(b)
}
func jointable() {
//Original SQL Join Table
a, _ := orm.SetTable("userinfo").Join("LEFT", "userdeatail", "userinfo.uid=userdeatail.uid").Where("userinfo.uid=?", 1).Select("userinfo.uid,userinfo.username,userdeatail.profile").FindMap()
fmt.Println(a)
}
func delete() {
// // //delete one data
saveone := selectone()
orm.Delete(&
saveone)
}
func deletesql() {
//original SQL delete
orm.SetTable("userinfo").Where("uid>
?", 2).DeleteRow()
}
func deleteall() {
// //delete all data
alluser := selectall()
orm.DeleteAll(&
alluser)
}
感谢各位的阅读,以上就是“Golang包怎样获取,方法操作是什么”的内容了,通过以上内容的阐述,相信大家对Golang包怎样获取,方法操作是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Golang包怎样获取,方法操作是什么
本文地址: https://pptw.com/jishu/652572.html
