-
go run -a 強(qiáng)制編譯查看全部
-
go run -p n 并行編譯,其中n為并行的數(shù)量查看全部
-
https://github.com/hyper-carrot/goc2p查看全部
-
代碼包的作用:編譯和歸檔Go程序的最基本單位。代碼劃分、集結(jié)和依賴(lài)的有效組織形式,也是權(quán)限控制的輔助手段 代碼包的規(guī)則:一個(gè)代碼包實(shí)際上就是一個(gè)由導(dǎo)入路徑代表的目錄;導(dǎo)入路徑即<工作區(qū)目錄>/src或<工作區(qū)目錄>/pkg/<平臺(tái)相關(guān)目錄>之下的某段子路徑 例如:代碼包hypermind.cn可以對(duì)應(yīng)于/home/hypermind/golib/src/hypermind.cn目錄。(其中 /home/hypermind/golib是一個(gè)工作區(qū)目錄) 代碼包的聲明:每個(gè)源碼文件必須聲明其所屬的代碼包;同一個(gè)代碼包中的所有源碼文件聲明的代碼包應(yīng)該是相同的。 代碼包聲明與代碼包導(dǎo)入路徑的區(qū)別: 代碼包聲明:代碼包聲明語(yǔ)句中的包名稱(chēng)應(yīng)該是該代碼包的導(dǎo)入路徑的最右子路徑,例如:hypermind.cn/pkgtool package pkgtool 代碼包導(dǎo)入語(yǔ)句中使用的包名稱(chēng)應(yīng)該與其導(dǎo)入路徑一致,例如: flag fmt strings import("flag" "fmt" "strings") 代碼包的導(dǎo)入方法:帶別名的導(dǎo)入:import str "strings" str.HasPrefix("abc","a") 本地化的導(dǎo)入:import ."strings" HasPrefix("abc","a") 僅僅初始化:import _"strings" 僅執(zhí)行代碼包中的初始化函數(shù)查看全部
-
特點(diǎn):1靜態(tài)類(lèi)型,編譯開(kāi)源語(yǔ)言2腳本化的語(yǔ)法,支持多種編程范式(函數(shù)式,面向?qū)ο螅?原生,給力的并發(fā)支持并發(fā)編程查看全部
-
入門(mén)必備的知識(shí):1go語(yǔ)言的簡(jiǎn)介3安裝與設(shè)置3開(kāi)發(fā)環(huán)境查看全部
-
go語(yǔ)言的優(yōu)勢(shì):腳本化的語(yǔ)法;靜態(tài)類(lèi)型+編譯型,程序運(yùn)行速度有保障;原生的支持并發(fā)編程:降低開(kāi)發(fā),維護(hù)成本;程序可以更好的執(zhí)行。 go語(yǔ)言的劣勢(shì):語(yǔ)法糖并沒(méi)有python和ruby那么多;目前的程序運(yùn)行速度還不及C;第三方函數(shù)庫(kù)暫時(shí)不像絕對(duì)主流的編程語(yǔ)言那樣多查看全部
-
工作區(qū) GOPATH ----src 存放源碼文件 以代碼包為組織形式 ----pkg 存放歸檔文件 .a為結(jié)尾 平臺(tái)相關(guān)目錄 兩個(gè)隱藏的GO語(yǔ)言環(huán)境變量:GOOS和GOARCH GOOS:操作系統(tǒng) GOARCH:計(jì)算機(jī)構(gòu) example :$GOOS_$GOARCH 如:linux_adm64 bin 存放工作區(qū)中可執(zhí)行文件查看全部
-
環(huán)境配置:mac os #GOROOT 為golang的安裝路徑 export GOROOT=/usr/local/go #GOPATH golang語(yǔ)言工作區(qū)的一個(gè)集合 go語(yǔ)言工作目錄 export GOPATH=/Users/mac/Desktop/lang/go/ #GOBIN 存放編譯后的go可執(zhí)行g(shù)o程序目錄 export GOBIN=/Users/mac/Desktop/lang/gobin/ #add go path to PATH export PATH=$PATH:$GOROOT/bin:$GOBIN查看全部
-
語(yǔ)法糖???查看全部
-
GO語(yǔ)言???查看全部
-
好查看全部
-
go語(yǔ)言的優(yōu)勢(shì):腳本化的語(yǔ)法;靜態(tài)類(lèi)型+編譯型,程序運(yùn)行速度有保障;原生的支持并發(fā)編程:降低開(kāi)發(fā),維護(hù)成本;程序可以更好的執(zhí)行。 go語(yǔ)言的劣勢(shì):語(yǔ)法糖并沒(méi)有python和ruby那么多;目前的程序運(yùn)行速度還不及C;第三方函數(shù)庫(kù)暫時(shí)不像絕對(duì)主流的編程語(yǔ)言那樣多查看全部
-
Go源碼文件:名稱(chēng)以.go為后綴,內(nèi)容以Go語(yǔ)言代碼組織的文件 多個(gè)Go源碼文件是需要用代碼包組織起來(lái)的 源碼文件分為三類(lèi):命令源碼文件、庫(kù)源碼文件(go語(yǔ)言程序) 測(cè)試源碼文件(輔助源碼文件) 命令源碼文件:聲明自己屬于main代碼包、包含無(wú)參數(shù)聲明和結(jié)果聲明的main函數(shù);被安裝后,相應(yīng)的可執(zhí)行文件會(huì)被存放到GOBIN指向的目錄或<當(dāng)前工作區(qū)目錄>/bin下 命令源碼文件是Go程序的入口,但不建議把程序都寫(xiě)在一個(gè)文件中;同一個(gè)代碼包中強(qiáng)烈不建議直接包含多個(gè)命令源碼文件。 庫(kù)源碼文件:不具備命令源碼文件的那兩個(gè)特征的源碼文件, 被安裝后,相應(yīng)的歸檔文件會(huì)被存放到<當(dāng)前工作區(qū)目錄>/pkg/<平臺(tái)相關(guān)目錄>下 測(cè)試源碼文件:不具備命令源碼文件的那兩個(gè)特征的源碼文件。名稱(chēng)以_test.go為后綴。其中至少有一個(gè)函數(shù)的名稱(chēng)以Test或Benchmark為前綴。并且,該函數(shù)接受一個(gè)類(lèi)型為 *testing.T或*testing.B的參數(shù) func TestFind(t *testing.T){//省略若干條語(yǔ)句} func BenchmarkFind(b *testing.B){//省略若干條語(yǔ)句}查看全部
-
工作區(qū)是放置Go源碼文件的目錄;一般情況下,Go源碼文件都需要存放到工作區(qū)中;但是對(duì)于命令源碼文件來(lái)說(shuō),這不是必須的。 每一個(gè)工作區(qū)的結(jié)構(gòu)都類(lèi)似下圖所示:/home/hypermind/golib: src/ pkg/ bin/ src目錄用于存放源碼文件;以代碼包為組織形式 pkg目錄用于存放歸檔文件(名稱(chēng)以.a為后綴的文件) 所有歸檔文件都會(huì)被存放到該目錄下的平臺(tái)相關(guān)目錄中,用樣以代碼包為組織形式 平臺(tái)相關(guān)目錄:兩個(gè)隱含的Go語(yǔ)言環(huán)境變量:GOOS(操作系統(tǒng))和GOARCH(計(jì)算機(jī)架構(gòu))。以$GOOS_$GOPATH為命名方式,如:linux_amd64 <工作區(qū)目錄>/pkg/<平臺(tái)相關(guān)目錄>/<一級(jí)代碼包>/<二級(jí)代碼包>/<末級(jí)代碼包>.a bin目錄:用于存放當(dāng)前工作區(qū)中的Go程序的可執(zhí)行文件 1.當(dāng)環(huán)境變量GOBIN已有效設(shè)置時(shí),該目錄會(huì)變的無(wú)意義;當(dāng)GOPATH的值中包含多個(gè)工作區(qū)的路徑時(shí),必須設(shè)置GOBIN,否則無(wú)法成功安裝Go程序的可執(zhí)行文件查看全部
舉報(bào)
0/150
提交
取消