十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
一直直接操作的框架 使用vscode 打開(kāi)就會(huì)自動(dòng)裝包,這次想寫(xiě)一個(gè)簡(jiǎn)單應(yīng)用,確不會(huì)怎么建項(xiàng)目,記錄如下。
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)紅河,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
go1.14 后,以及不再需要把項(xiàng)目寫(xiě)在GOPATH下,所有不需要再配置。
配置GOPRXY goenv-w GOPROXY=(國(guó)內(nèi)無(wú)法訪問(wèn))
使用go mod方法新建項(xiàng)目。
任意位置新建文件夾。
文件夾下執(zhí)行g(shù)o mod xxx ,生成一個(gè)go.mod文件。
新建一個(gè)main.go文件,就可以直接運(yùn)行了。
我開(kāi)始的時(shí)候,先建了main.go文件,再執(zhí)行的go.mod。后面沒(méi)法運(yùn)行。
參考:李文周的博客。
golang 環(huán)境build之后可執(zhí)行文件為什么沒(méi)有在bin生成
bin目錄下存放的是項(xiàng)目調(diào)試之后的可運(yùn)行文件。
在bin下有兩個(gè)文件夾,一個(gè)是Debug,另一個(gè)是Release,都是自動(dòng)生成的,是看啟動(dòng)調(diào)試時(shí)選擇哪個(gè)就生成哪個(gè)文件夾,Release比Debug小,但是這兩個(gè)文件夾下存放的東西都是一樣的,當(dāng)你調(diào)試項(xiàng)目的時(shí)候,在Debug文件夾下會(huì)生成 項(xiàng)目名稱.exe、項(xiàng)目名稱.pdb、項(xiàng)目名稱.vshost.exe,雙擊.exe就能運(yùn)行你的項(xiàng)目。
在此文件夾下除了這些,還有一些項(xiàng)目的依賴項(xiàng),比如 *.dll等,有的需要你自己添加到Debug文件夾下的,比如 *.ini,*.rpt等。
1.創(chuàng)建一個(gè)文件夾,例如:golang入門(mén)到項(xiàng)目實(shí)戰(zhàn)
2.在golang入門(mén)到項(xiàng)目實(shí)戰(zhàn)文件夾中創(chuàng)建一個(gè)go文件,例如:test.go
3.在test.go中輸入如下內(nèi)容:
4.編譯執(zhí)行g(shù)o run test.go
5.可僅選擇編譯執(zhí)行g(shù)o build test.go,則目錄下會(huì)多出個(gè)exe程序
golang中關(guān)于目錄與文件名等操作都在os這個(gè)包中,具體的創(chuàng)建目錄都是通過(guò)Mkdir和MkdirAll這2個(gè)函數(shù)來(lái)實(shí)現(xiàn)的,這兩個(gè)函數(shù)用法一致
os.Mkdir(dirName?string,?perm?FileMode)
dirName即要?jiǎng)?chuàng)建的目錄(文件夾路徑),可以是絕對(duì)路徑,也可以是相對(duì)路徑(相對(duì)于GOPATH)
perm表示創(chuàng)建的目錄的權(quán)限,如0777(讀r權(quán)限值為4,寫(xiě)權(quán)限w值為2,執(zhí)行權(quán)限x值為1)
如:我要在/data/program/goapp這個(gè)目錄下創(chuàng)建一個(gè)golang這個(gè)子目錄,示例如下:
package?main
import?(
"os"
"fmt"
)
func?main()?{
err?:=?os.Mkdir("/data/program/goapp/golang",?0666)
if?err?!=?nil?{
fmt.Println(err)
}
}
注:Mkdir和MkdirAll的區(qū)別
Mkdir創(chuàng)建目錄,它的父級(jí)目錄必須是存在的,不然創(chuàng)建會(huì)失敗
MkdirAll可以遞歸創(chuàng)建目錄,即只要根目錄存在即可,如下:
err?:=?os.MkdirAll("/data/program/goapp/golang/test/hello",?0766)
if?err?!=?nil?{
fmt.Println(err)
}
本例中:/data/program/goapp是已經(jīng)存在的目錄,而子目錄golang/test/hello是不存在,此時(shí)要使用MkdirAll來(lái)創(chuàng)建
1.先把要導(dǎo)入的包go build - go install
2.接著在要導(dǎo)入的方法中以: 項(xiàng)目名 / 導(dǎo)入的文件名 ?的形式導(dǎo)入即可(如下方test(項(xiàng)目名) / chiid(文件名))