goLang引入自定義包的方法
看完golang的基本語(yǔ)法后,為了模塊化編程,試用了下golang的包管理,結(jié)果真踩了幾個(gè)坑,總結(jié)一下吧。
一. 設(shè)置$GOPATH環(huán)境變量
golang和C或php不一樣,不會(huì)自動(dòng)查找當(dāng)前路徑下的文件,必須先在$GOAPTH里添加自己工程的路徑;
二. 自定義包里面對(duì)外提供的API函數(shù),首字母必須大寫(xiě)
如:func api() string {return “hello api!”}則不能被包外的函數(shù)檢測(cè)到;
應(yīng)改為:func Api() string {return “hello api!”}
三. 包的編譯和安裝
包的.go文件必須存放在一個(gè)獨(dú)立的文件夾下(如test)。
然后對(duì)test文件夾使用 go build 和 go install 命令:之后在$GOPATH下添加生成pkg文件夾,文件夾下則生成test.a文件(因此,包文件的父文件夾名最后和包名一致)
四. 包的使用
生成包的名字和包的真實(shí)名字可以不一致;
如目錄結(jié)構(gòu)如下:
project >src >test >my.go main.go >pkg >XXXXXX >test.a
my.go的代碼如下:
package my func Test() string{ return "my.test"}
main.go的代碼如下:
package my import( "fmt" "test" ) func main(){ fmt.println(my.Test()); //可見(jiàn)這里使用“my”和import “test”不一致; }
以上這篇goLang引入自定義包的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go語(yǔ)言實(shí)現(xiàn)超時(shí)的三種方法實(shí)例
超時(shí)在一些業(yè)務(wù)場(chǎng)景里非常普遍,下面這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言實(shí)現(xiàn)超時(shí)的三種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Go語(yǔ)言具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07關(guān)于Golang中range指針數(shù)據(jù)的坑詳解
這篇文章主要給大家介紹了關(guān)于Golang中range指針數(shù)據(jù)的坑的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02go?time.Sleep睡眠指定時(shí)間實(shí)例詳解(小時(shí)級(jí)到納秒級(jí))
golang的休眠可以使用time包中的sleep,下面這篇文章主要給大家介紹了關(guān)于go?time.Sleep睡眠指定時(shí)間(小時(shí)級(jí)到納秒級(jí))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11Go語(yǔ)言時(shí)間相關(guān)操作合集(超詳細(xì))
在開(kāi)發(fā)應(yīng)用程序的過(guò)程中,經(jīng)常需要記錄某些操作的時(shí)間或者格式化時(shí)間戳,因此大部分編程語(yǔ)言都會(huì)有操作時(shí)間的庫(kù),Go語(yǔ)言當(dāng)然也不例外,本文我們就一起來(lái)學(xué)習(xí)一下time包的使用2023-08-08淺談Golang數(shù)據(jù)競(jìng)態(tài)
本文主要介紹了淺談Golang數(shù)據(jù)競(jìng)態(tài),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Golang中如何對(duì)MySQL進(jìn)行操作詳解
這篇文章主要給大家介紹了關(guān)于在Golang中如何對(duì)MySQL進(jìn)行操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Golang具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Go設(shè)計(jì)模式之狀態(tài)模式講解和代碼示例
狀態(tài)是一種行為設(shè)計(jì)模式,?讓你能在一個(gè)對(duì)象的內(nèi)部狀態(tài)變化時(shí)改變其行為,該模式將與狀態(tài)相關(guān)的行為抽取到獨(dú)立的狀態(tài)類(lèi)中,?讓原對(duì)象將工作委派給這些類(lèi)的實(shí)例,?而不是自行進(jìn)行處理,本文將通過(guò)代碼示例給大家簡(jiǎn)單的介紹一下Go狀態(tài)模式2023-08-08GO語(yǔ)言實(shí)現(xiàn)列出目錄和遍歷目錄的方法
這篇文章主要介紹了GO語(yǔ)言實(shí)現(xiàn)列出目錄和遍歷目錄的方法,涉及ioutil.ReadDir()與filepath.Walk()的應(yīng)用,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12Golang學(xué)習(xí)筆記(四):array、slice、map
這篇文章主要介紹了Golang學(xué)習(xí)筆記(四):array、slice、map,本文分別講解了這3個(gè)類(lèi)型的聲明&賦值、元素訪問(wèn)、其它操作,需要的朋友可以參考下2015-05-05