成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

go語言build go語言入門

go的三個(gè)運(yùn)行基本命令的區(qū)別,go run ,go build 和 go install

最近在自學(xué)go,遇到點(diǎn)基礎(chǔ)的問題,通過自己實(shí)際操作之后得出結(jié)論

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計(jì),黃山區(qū)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:黃山區(qū)等地區(qū)。黃山區(qū)做網(wǎng)站價(jià)格咨詢:18982081108

在實(shí)際操作之前,我們需要知道go有三種源碼文件:

? 1,命令源碼文件;聲明自己屬于main包,并且包含main函數(shù)的文件,每個(gè)項(xiàng)目只能有一個(gè)這樣的文件,即程序的入口文件

? 2,庫源碼文件;不能直接被執(zhí)行的源碼文件

? 3,測試源碼文件

本次操作不涉及測試源碼文件。

go run : 編譯并直接運(yùn)行程序,不產(chǎn)生可執(zhí)行文件,只產(chǎn)生臨時(shí)文件,方便用戶調(diào)試(即在bin目錄和pkg目錄不產(chǎn)生任何文件),其后只能+命令源碼文件。

go build : 既可以+庫源碼文件,又可以+命令源碼文件,主要功能是檢查是否有編譯錯(cuò)誤

? +庫源碼文件:只是檢查編譯錯(cuò)誤,不產(chǎn)生任何文件,如果庫源碼文件有語法錯(cuò)誤,編譯不通過會報(bào)錯(cuò)。

? +命令源碼文件:產(chǎn)生一個(gè)可執(zhí)行文件

go install : 執(zhí)行的過程:編譯庫源碼文件-編譯命令源碼文件-移動(dòng)編譯文件,命令源碼文件的編譯移到bin目錄,庫源碼文件的編譯移到pkg目錄,這個(gè)移動(dòng)目錄的過程成為安裝。

好了,go run , go build 和 go install三者的區(qū)別就到這里了。

go build和go install的區(qū)別是什么?

go build只對main包有效,在當(dāng)前目錄編譯生成一個(gè)可執(zhí)行的二進(jìn)制文件(依賴包生成的靜態(tài)庫文件放在$GOPATH/pkg)。

go install一般生成靜態(tài)庫文件放在$GOPATH/pkg目錄下,文件擴(kuò)展名a,如果為main包,則會在$GOPATH/bin 生成一個(gè)可執(zhí)行的二進(jìn)制文件。

go build

通過go build加上要編譯的Go源文件名,我們即可得到一個(gè)可執(zhí)行文件,默認(rèn)情況下這個(gè)文件的名字為源文件名字去掉.go后綴。

$ go build hello.go

$ lshello hello.go

當(dāng)然我們也 可以通過-o選項(xiàng)來指定其他名字:

$ go build -o mygo hello.go

$ lsmygo hello.go

如果我們在go-examples目錄下直接執(zhí)行g(shù)o build命令,后面不帶文件名,我們將得到一個(gè)與目錄名同名的可執(zhí)行文件:

$ go build

$ lsgo-examples hello.go

go install

與build命令相比,install命令在編譯源碼后還會將可執(zhí)行文件或庫文件安裝到約定的目錄下。

1、go install編譯出的可執(zhí)行文件以其所在目錄名(DIR)命名

2、go install將可執(zhí)行文件安裝到與src同級別的bin目錄下,bin目錄由go install自動(dòng)創(chuàng)建

3、go install將可執(zhí)行文件依賴的各種package編譯后,放在與src同級別的pkg目錄下

深入理解 go build 和 go install

go build:用于測試編譯包,在項(xiàng)目目錄下生成可執(zhí)行文件(有main包)。

go install:主要用來生成庫和工具。一是編譯包文件(無main包),將編譯后的包文件放到 pkg 目錄下( $GOPATH/pkg )。二是編譯生成可執(zhí)行文件(有main包),將可執(zhí)行文件放到 bin 目錄( $GOPATH/bin )。

都能生成可執(zhí)行文件

$GOPATH/pkg 即圖片中的 pkg 目錄

$GOPATH/bin 即圖片中的 bin目錄

$GOPATH/src 即圖片中的 src目錄

了解更多關(guān)于 go 的環(huán)境變量

test1.go

test2.go

在example目錄下生成可執(zhí)行程序 example.exe

編譯 test1.go 在 bin 目錄下生成可執(zhí)行文件 example.exe

編譯 test1.go 在 pkg目錄下生成包文件 pack1.a

文中如有表述不清之處,請?jiān)谙旅媪粞?,我會第一時(shí)間進(jìn)行完善。

編者希望能給大家?guī)砀鄡?yōu)質(zhì)的文章;上述內(nèi)容對你有幫助的話,請幫我點(diǎn)個(gè)贊,謝謝!

新聞名稱:go語言build go語言入門
標(biāo)題來源:http://jinyejixie.com/article14/dosgsde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、關(guān)鍵詞優(yōu)化、定制開發(fā)、小程序開發(fā)、電子商務(wù)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
桂平市| 托克逊县| 南乐县| 图片| 柞水县| 新宾| 永善县| 昭觉县| 长岛县| 辽源市| 华宁县| 嵊州市| 金川县| 阿瓦提县| 海南省| 张家川| 汝城县| 贡觉县| 沧州市| 迁西县| 江西省| 石楼县| 松溪县| 漠河县| 如东县| 馆陶县| 松桃| 青龙| 靖边县| 岳普湖县| 永德县| 四会市| 舞钢市| 邵阳市| 新安县| 库伦旗| 天峻县| 海南省| 沈阳市| 达州市| 正定县|