工程管理
一. 工作區
1. 介紹
- 分文件編程(多個源文件)
- 必須放在src目錄
- 同一個目錄,包名必須一樣
- 同一個目錄,調用別的文件的函數,直接調用即可,無需包名引用
- 不同目錄,包名不一樣
- 調用不同包裏面的函數,格式:包名.函數名()
- 調用別的包的函數,這個包函數名字如果是小寫,無法讓別人調用,要使之可以調用,需要首字母大寫
2. GOPATH環境變量
- go env查看go相關的環境變量
- 代碼之間通過絕對代碼包路徑調用
- 需要先把所需工程的根目錄加入到環境變量GOPATH中
- 多個目錄的時候
- Windows是分號;
- Linux系統是冒號:
- 有多個GOPATH時
- 默認會將go get的內容放在第一個目錄下
二. 包
1. 自定義包
2. main包
- 所有用 Go 語言編譯的可執行程序都必須有一個名叫 main 的包
- 一個可執行程序有且僅有一個 main 包
3. main函數和init函數
- Go裏面有兩個保留的函數:
- init函數:能夠應用於所有的package)
- main函數:只能應用於package main)
- 這兩個函數在定義時不能有任何的參數和返回值
- 強烈建議用戶在一個package中每個文件只寫一個init函數
- Go程序會自動調用init()和main()
4. 導入包
- 方法一:
import "fmt" import "calc"
- 方法二:
import { "fmt" "calc" }
- 點操作
import { . "fmt" }
- 點操作的含義是這個包導入之後在你調用這個包的函數時,可以省略前綴的包名
- 別名操作
- 在導⼊時,可指定包成員訪問⽅式,⽐如對包重命名,以避免同名衝突
import ( io "fmt" //fmt改爲爲io ) func main() { io.Println("hello go") //通過io別名調用 }
- _操作
- _操作其實是引入該包,而不直接使用包裏面的函數
- 是調用了該包裏面的init函數。
import ( _ "fmt" )
三、其他
- go instal :
- 在源碼目錄執行
- 自動生成bin或pkg目錄
- 除了需要配置GOPATH環境變量,還有配置GOBIN環境變量
- src: 放源代碼
- bin: 放可執行程序
- pkg: 放平臺相關的庫