最近在學習Go編程,本文簡單的敘述如何在Go編程中使用包(包管理)。
和其他大多數語言一樣,Go也存在包,並使用package關鍵字定義一個包。首先介紹在程序中如何引入包,引入包有以下幾種方式:
1. 最簡單的方式引入一個包的方式是直接引入包,例如:
import "fmt"
import "os"
2. 也可以通過下面的方式將包一塊引入,並寫在括號內:
inport (
"fmt"
"os"
)
通過上面的方式,可以引入系統包或第三方的包,下面重點介紹如何引入自定義的包和函數:
一般我們將主程序放在src的mian文件夾下(主程序中包含main函數,並將主程序的包名寫為package main),將其他模塊放在相應的文件夾下,例如下圖所示
主函數在main.go文件中,主函數名也可以為其他,但必須包含main函數。在Go編程中,怎么引入自己編寫的模塊呢,例如在main.go中如何調用add.go、subtract.go或者是multiply.go中的文件。
add.go與subtract.go在cal文件夾下,所以這兩個程序的包名為cal(package cal),multiply.go在multi文件夾下,所以程序的包名為multi(package multi)。如果mian函數要調用add.go或者subtract.go中的函數,必須要引入包"cal"(import "cal")。要調用multiply.go中的函數,那就要引入包"multi",如果我們在程序中直接寫import "multi",編譯器會提示我們can not find package "multi"。因為我們的"multi"包在包"cal"下,所以我們要把包名寫完整"cal/multi",下面就可以調用各個文件中的函數了。
Go中如果函數名的首字母大寫,表示該函數是公有的,可以被其他程序調用,如果首字母小寫,該函數就是是私有的,因此我們只能調用add.go、subtract.go或者multiply.go中的公有函數。具體調用如下圖:
add.go
subtract.go
multiply.go
最后注意:文件名可以和該包名不一致,但文件中使用的包名必須要和該包名一致。