深入了解Golang包的獲取方法_第1頁
深入了解Golang包的獲取方法_第2頁
深入了解Golang包的獲取方法_第3頁
深入了解Golang包的獲取方法_第4頁
深入了解Golang包的獲取方法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第深入了解Golang包的獲取方法目錄1.獲取遠(yuǎn)程包2.應(yīng)用

1.獲取遠(yuǎn)程包

go語言有一個(gè)獲取遠(yuǎn)程包的工具就是goget,目前goget支持多數(shù)開源社區(qū)(例如:github、googlecode、bitbucket、Launchpad)

例如:

goget/astaxie/beedb

在pkg目錄下tree/f可查看到安裝的包如下所示:

2.應(yīng)用

如下代碼所示,可以應(yīng)用遠(yuǎn)程下載的go第三方庫文件,連接sqllite。

鏈接地址

packagemain

import(

"fmt"

"/astaxie/beedb"

_"/mattn/go-sqlite3"

"time"

"database/sql"

CREATETABLE`userinfo`(

`uid`INTEGERPRIMARYKEYAUTOINCREMENT,

`username`VARCHAR(64)NULL,

`departname`VARCHAR(64)NULL,

`created`DATENULL

CREATETABLE`userdeatail`(

`uid`INT(10)NULL,

`intro`TEXTNULL,

`profile`TEXTNULL,

PRIMARYKEY(`uid`)

varormbeedb.Model

typeUserinfostruct{

Uidint`beedb:"PK"`

Usernamestring

Departnamestring

Createdstring

funcmain(){

db,err:=sql.Open("sqlite3","./asta.db")

iferr!=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()

funcinsert(){

//savedata

varsaveoneUserinfo

saveone.Username="TestAddUser"

saveone.Departname="TestAddDepartname"

saveone.Created=time.Now().Format("2006-01-0215:04:05")

orm.Save(saveone)

fmt.Println(saveone)

funcinsertsql(){

//addone

add:=make(map[string]interface{})

add["username"]="astaxie"

add["departname"]="clouddevelop"

add["created"]="2012-12-02"

orm.SetTable("userinfo").Insert(add)

funcselectone()Userinfo{

//getoneinfo

varoneUserinfo

orm.Where("uid=",1).Find(one)

returnone

funcselectall()[]Userinfo{

//getalldata

varalluser[]Userinfo

orm.Limit(10).Where("uid",1).FindAll(alluser)

returnalluser

funcupdate(){

////updatedata

varsaveoneUserinfo

saveone.Uid=1

saveone.Username="UpdateUsername"

saveone.Departname="UpdateDepartname"

saveone.Created=time.Now().Format("2006-01-0215:04:05")

orm.Save(saveone)

fmt.Println(saveone)

funcupdatesql(){

//originalSQLupdate

t:=make(map[string]interface{})

t["username"]="updateastaxie"

//updateone

orm.SetTable("userinfo").SetPK("uid").Where(2).Update(t)

//updatebatch

orm.SetTable("userinfo").Where("uid",3).Update(t)

funcfindmap(){

//OriginalSQLBackinforesultsSlice[]map[string][]byte

//defaultPrimaryKeyid

c,_:=orm.SetTable("userinfo").SetPK("uid").Where(2).Select("uid,username").FindMap()

fmt.Println(c)

funcgroupby(){

//OriginalSQLGroupBy

b,_:=orm.SetTable("userinfo").GroupBy("username").Having("username='updateastaxie'").FindMap()

fmt.Println(b)

funcjointable(){

//OriginalSQLJoinTable

a,_:=orm.SetTable("userinfo").Join("LEFT","userdeatail","userinfo.uid=userdeatail.uid").Where("userinfo.uid=",1).Select("userinfo.uid,userinfo.username,file").FindMap()

fmt.Println(a)

funcdelete(){

//////deleteonedata

saveone:=selectone()

orm.Delete(saveone)

funcdeletesql(){

//originalSQ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論