麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

golang基礎(chǔ)

2019-11-14 12:51:19
字體:
供稿:網(wǎng)友

1.開發(fā)環(huán)境搭建與IDE(LiteIDE)

Windows下搭建go語言開發(fā)環(huán)境 以及 開發(fā)IDE (附下載鏈接):http://studygolang.com/articles/17

golang和LiteIDE都可以使用解壓綠色版本。

golang安裝后,設(shè)置環(huán)境變量:path(bin目錄)、GOROOT(go安裝目錄)、GOPATH(本地工程目錄)。

win:GOARCH=386 GOOS=windows

android可執(zhí)行程序:GOARCH=arm GOOS=linux

LiteIDE中均可修改這些環(huán)境變量。

1.2 消除go編譯器的錯誤:“imported and not used”、”declared and not used“。

方案:修改源碼,重新編譯compile編譯器。步驟:1)修改目錄D:/go/src/cmd/compile/internal/gc下兩文件的兩處代碼:main.go 892行:if name == "" || elem == name {//yyerrorl(lineno, "imported and not used: %q", path)adderr(lineno, "#W imported and not used: %q", path)} else {//yyerrorl(lineno, "imported and not used: %q as %s", path, name)adderr(lineno, "#W imported and not used: %q as %s", path,下 name)}walk.go 53行://yyerror("%v declared and not used", ln.Sym)Warn("#W %v declared and not used", ln.Sym)defn.Left.Used = true // supPRess repeats} else {lineno = ln.Lineno//yyerror("%v declared and not used", ln.Sym)Warn("#W %v declared and not used", ln.Sym)}2)進(jìn)入目錄D:/go/src/cmd/compile/internal/gc,編譯靜態(tài)庫gc.a,執(zhí)行:go build -buildmode=archive -o gc.a3)將生成的gc.a拷貝替換到目錄D:/go/pkg/windows_386/cmd/compile/internal/4)進(jìn)入目錄D:/go/src/cmd/compile,編譯出編譯器compile.exe,執(zhí)行:go build5)將生成的compile.exe拷貝替換到目錄D:/go/pkg/tool/windows_386。

2.golang語言

Go語言極速入門手冊.go :http://blog.coderzh.com/2015/09/28/go-tips/?utm_source=tuicool&utm_medium=referral

Go 語言教程:http://www.shouce.ren/api/view/a/5581

Go語言教程:http://www.yiibai.com/go/

打印:fmt.Println()、fmt.Printf()、fmt.Sprintf()

2.1數(shù)據(jù)類型及類型轉(zhuǎn)換

1)Go語言是個強(qiáng)類型語言。也就是說Go對類型要求嚴(yán)格,不同類型不能進(jìn)行賦值操作。指針也是具有明確類型的對象,進(jìn)行嚴(yán)格類型檢查。

Go各種類型轉(zhuǎn)換及函數(shù)的高級用法:http://blog.csdn.net/kenkao/article/details/47857839

new 的作用是初始化一個指向類型的指針(*T),make 的作用是為 slice,map 或 chan 初始化并返回引用(T)。定長和變長。

rbuf := make([]byte, 128) //引用。slice,map等
pbuf := new(bytes.Buffer) //指針.或者 pbuf := bytes.NewBuffer([]byte{})
//pbuf[0] = 100  //error
pbuf.Write([]byte{100, 0, 0, 0, 101, 0, 0, 0, 102, 0, 0, 0, 103, 0, 0, 0}) //pbuf.String()
pbuf.Read(rbuf) //給rbuf賦值

2)go語言,很多數(shù)據(jù)類型轉(zhuǎn)換無法轉(zhuǎn)換,也沒有C那種便捷的指針內(nèi)存操作。如果確實(shí)有類型轉(zhuǎn)換需要(比如網(wǎng)絡(luò)消息傳輸),怎么辦呢?

可通過字節(jié)序列化操作完成:binary.Write、binary.Read、binary.Size (import "encoding/binary")。如結(jié)構(gòu)體轉(zhuǎn)二進(jìn)制數(shù)組:

type MsgAPI struct {    HeadFlag int32 //不能是int類型    CmdType int32}

buf := new(bytes.Buffer)err = binary.Write(buf,binary.LittleEndian,struA)err = binary.Read(buf,binary.LittleEndian,&struB)  //buf長度必須大于struB大小

Golang中的字節(jié)序列化操作:http://www.mamicode.com/info-detail-156122.html

2.2 正則表達(dá)式

Golang學(xué)習(xí) - regexp 包 :http://www.companysz.com/golove/p/3270918.html

基礎(chǔ)知識 - Golang 中的正則表達(dá)式: http://www.companysz.com/golove/p/3269099.html

pat := `(((abc.)def.)ghi)(//d+)`reg := regexp.MustCompile(pat)src := []byte(`abc-def-ghi abc+def+ghi+123456`)// 查找第一個匹配結(jié)果fmt.Printf("%s/n", reg.Find(src)) // abc-def-ghi// 查找第一個匹配結(jié)果及其分組字符串first := reg.FindSubmatch(src)for i := 0; i < len(first); i++ {fmt.Printf("%d: %s/n", i, first[i])}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 伊人成人免费视频 | 亚洲精品一区二区三区免 | 国产乱xxxx| 国产亚洲美女精品久久久2020 | 国产精品视频免费在线观看 | 国产成人综合在线视频 | 最新中文字幕在线 | 亚洲一区二区三区四区精品 | 黄网站在线免费 | 欧美精品一区二区久久久 | 极品大长腿啪啪高潮露脸 | 毛片视频网站在线观看 | 欧美国产91 | 成人在线网站 | 久久综合一区 | 成人福利在线 | 精品国产91久久久久 | av噜噜噜噜 | 91久久精品一区二区 | 国产在线观看免费视频软件 | 欧美视频在线观看一区 | 成人毛片免费 | 美女wc | 精品一区二区久久久久久久网精 | 亚洲成人入口 | 欧美一级无毛 | 美国人成人在线视频 | 中文字幕在线观看亚洲 | 国产成人高潮免费观看精品 | 亚洲午夜久久久久 | 久久久www免费看片 亚洲综合视频一区 | 少妇一级淫片高潮流水电影 | 在线a毛片免费视频观看 | 亚洲最新无码中文字幕久久 | 91av国产在线 | 久久里面有精品 | 在线观看一区二区三区四区 | 毛片免费视频观看 | 成人国产高清 | 曰批全过程120分钟免费69 | 久久综合婷婷香五月 |