首頁 > 後端開發 > Golang > 主體

go語言中自訂套件的方法

發布: 2020-06-19 17:51:14
轉載
3617 人瀏覽過

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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!