首頁  >  文章  >  後端開發  >  go語言中自訂套件的方法

go語言中自訂套件的方法

尚
轉載
2020-06-19 17:51:143631瀏覽

go語言中自訂套件的方法

套件是函數和資料的集合,用 package 關鍵字定義一個套件。

主要用於組織 Go 原始碼,提供了更好的可重複使用性與可讀性。由於套件提供了代碼的封裝,因此使得 Go 應用程式易於維護。

下面建立一個自訂套件的實例

建立存放包的目錄pac

mkdir -p $GOPATH/src/test/pac
cd $GOPATH/src/test/pac

新檔案pac.go

package pac

import "fmt"

func Printstr(x string) {
    fmt.Println(x + " is pac")
}

這裡為了方便維護,將包名和目錄名一致。

新demo.go呼叫自訂的套件

在$GOPATH/src/test 目錄下建立

package main

import "pac"

func main() {
    pac.Printstr("this")
}

運行

go run demo.go

輸出this is pac ,證明成功

以上實例,引入檔案demo.go和套件檔案pac.go不在同一目錄,不屬於同一個套件。那麼屬於同一個包,且在同一個目錄的兩個文件,是如何存取的,看下面例子。

建立pac2.go

在$GOPATH/src/test/pac目錄下

package pac

import "fmt"

func printstr2 (x string)  {
    fmt.Println(x + " is pac2")
}

修改pac.go,讓pac.go呼叫pac2.go

package pac

func Printstr(x string) {
    //fmt.Println(x + " is pac")
    printstr2(x)
}

運行demo.go

go run demo.go

輸出結果:this is pac2

總結

1、 如果專案目錄不在GOPATH環境變數設定的路徑裡,需要把專案移到GOPATH路徑裡,或是GOPATH中把專案路徑設定進去;不然會報:

demo.go:3:8: cannot find package "pac" in any of:
    /usr/lib/golang/src/pac (from $GOROOT)
    /home/go/src/pac (from $GOPATH)

2、import語句使用的是資料夾的名稱。

3、套件檔案的函數名稱第一個字母大寫,這樣外部可以呼叫。如果同一個package下,所有檔案之間相互訪問,函數名稱第一個字母大寫小寫無所謂。

4、main包,不能存取同目錄,同main包其他文件。

5、資料夾的名稱和package的名稱不一定相同,為了方便維護,建議一致。

6、呼叫自訂套件使用package名稱.函數名稱的方式,如上例:

pac.Printstr("this")

更多相關知識請關注go語言教學欄位

以上是go語言中自訂套件的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除