1. 程式人生 > 實用技巧 >golang包

golang包

一、簡介

1、到目前為止,演示的golang程式都只有一個檔案,檔案裡包含一個main函式和幾個其他的函式,在實際中,這種把所有原始碼編寫在一個檔案的方法並不好用,以這種方式編寫,程式碼的重用和維護都會很困難,而包(Package)解決了這樣的問題

2、包用於組織golang原始碼,提供了更好的可重用性與可讀性,由於包提供了程式碼的封裝,因此使得golang應用程式易於維護

3、例如,正在開發一個golang影象處理程式,它提供了影象的裁剪、銳化、模糊和彩色增強等功能,一種組織程式的方式就是根據不同的特性,把程式碼放到不同的包中,比如裁剪可以是一個單獨的包,而銳化是另一個包,這種方式的優點是,由於彩色增強可能需要一些銳化的功能,因此彩色增強的程式碼只需要簡單地匯入銳化功能的包,就可以使用銳化的功能了,這樣的方式使得程式碼易於重用

二、main函式和main包

1、所有可執行的golang程式都必須包含一個main函式,這個函式是程式執行的入口,main函式應該放置於main包中

2、package packagename這行程式碼指定了某一原始檔屬於一個包,它應該放在每一個原始檔的第一行

3、在golang工作區的src資料夾中建立一個geometry資料夾 => 在geometry資料夾中建立一個geometry.go檔案 => 在golang程式中建立一個main函式和main包

// geometry.go

package main 

import "fmt"

func main() {  
    fmt.Println("Geometrical shape properties")
}

/*
package main這一行指定該檔案屬於main包
import "packagename"語句用於匯入一個已存在的包,這裡匯入了fmt包,包內含有Println方法
接下來是main函式,它會列印Geometrical shape properties
*/

4、執行go install geometry,編譯上述程式,該命令會在geometry資料夾內搜尋擁有main函式的檔案,在這裡,它找到了geometry.go,接下來,它編譯併產生一個名為geometry(在 windows 下是 geometry.exe)的二進位制檔案,該二進位制檔案放置於工作區的bin資料夾

5、工作區的目錄結構

-src
    -geometry
        gemometry.go
-bin
    geometry.exe

6、執行workspacepath/bin/geometry執行該程式(workspacepath是工作區路徑),這個命令會執行bin資料夾裡的geometry二進位制檔案,結果就是輸出Geometrical shape properties

三、建立自定義的包