這篇文章給大家介紹import和package怎么在golang中使用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
在華容等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,華容網(wǎng)站建設(shè)費(fèi)用合理。
golang 使用包 package 來(lái)管理定義模塊,可以使用 import 關(guān)鍵字來(lái)導(dǎo)入使用。
如果導(dǎo)入的是 go 自帶的包,則會(huì)去安裝目錄 $GOROOT/src 按包路徑加載,如 fmt 包
如果是我們 go get 安裝或自定義的包,則會(huì)去 $GOPATH/src 下加載
package 的定義
package 的存放位置是以 $GOPATH/src 作為根目錄,然后靈活的按照目錄去組織,且包名需與最后一級(jí)目錄名一致。
例如我們自定義 baz 包,包模塊的存放位置則為 $GOPATH/src/foo/bar/baz,baz 包的源碼都存放在此目錄下,foo/bar/baz 則作為包路徑被 import 載入。
我們需要規(guī)范的將 baz 包中源碼的 package 定義為 baz,就定義好一個(gè)可 import 載入的的包了。
hello 模塊
//$GOPATH/src/foo/bar/baz/hello.go package baz import ( "fmt" ) // 模塊初始化函數(shù) import 包時(shí)被調(diào)用 func init() { fmt.Println("hello module init function") } func Hello() { return "hello" }
world 模塊
//$GOPATH/src/foo/bar/baz/world.go package baz import ( "fmt" ) // 模塊初始化函數(shù) import 包時(shí)被調(diào)用 func init() { fmt.Println("world module init function") } func World() string { return "world" }
package main import ( "fmt" "foo/bar/baz" //引入我們自定義的包 ) func main() { fmt.Println(baz.Hello(), baz.World()) }
import的使用
普通操作
import ( "fmt" "log" "foo/bar/baz" )
普通導(dǎo)入就是按照加載機(jī)制,將要使用的包導(dǎo)入進(jìn)來(lái),然后使用 packageName.MethodName 的方式調(diào)用包內(nèi)的方法即可。注意如果要包方法在其他包中可以調(diào)用,包方法需要首字母大寫,例如:fmt.Println() fmt.Printf()。
別名操作
package main import ( "fmt" myBaz "foo/bar/baz" ) func main() { fmt.Println(myBaz.Hello(), myBaz.World()) }
如果兩個(gè)包的包名存在沖突,或者包名太長(zhǎng)需要簡(jiǎn)寫時(shí),我們可以使用別名導(dǎo)入來(lái)解決。
點(diǎn)操作
package main import ( "fmt" . "foo/bar/baz" ) func main() { fmt.Println(Hello(), World()) // 直接使用包內(nèi)的方法即可 不需要顯式使用包名 }
. 導(dǎo)入可以讓包內(nèi)的方法注冊(cè)到當(dāng)前包的上下文中,直接調(diào)用方法名即可,不需要再加包前綴。
下劃線操作
package main import ( "fmt" _ "foo/bar/baz" ) func main() { fmt.Println(baz.Hello(), baz.World()) // 錯(cuò)誤 _ 并沒(méi)有導(dǎo)入包 只是引入并執(zhí)行包模塊的 init 方法 }
golang可以做服務(wù)器端開(kāi)發(fā),但golang很適合做日志處理、數(shù)據(jù)打包、虛擬機(jī)處理、數(shù)據(jù)庫(kù)代理等工作。在網(wǎng)絡(luò)編程方面,它還廣泛應(yīng)用于web應(yīng)用、API應(yīng)用等領(lǐng)域。
關(guān)于import和package怎么在golang中使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。