08 - 程式結構中初步的介紹了 go 語言和包的結構, 接下來我們將會更加詳細的介紹包和檔案之間的恩愛情仇
go語言當中的包和其他語言的庫或者模組很類似,都是為了支援模組化、封裝、單獨編譯和**重用。
package的使用原則:
示例:為了方便理解,我做了乙個包的示例
// tempconv.go
package tempconv
import
"fmt"
type celsius float64
// 攝氏溫度
type fahrenheit float64
// 華氏溫度
const
( absolutezeroc celsius =
-273.15
// 絕對零度
freezingc celsius =
0// 結冰點溫度
boilingc celsius =
100// 沸水溫度
)
// conv.go
package tempconv
func
ctof
(c celsius) fahrenheit
func
ftoc
(f fahrenheit) celsius
包的路徑:
$gopath/src/gopl/ch2/tempconv
分析:每個原始檔都以包的宣告語句開始,用來指名包的名字。當包被匯入的時候,包內的成員將通過類似tempconv.ctof的形式訪問。
在 go 語言中,每個包的路徑是全域性唯一的。如包gopl/ch2/tempconv全域性唯一的路徑就是$gopath/src/gopl/ch2/tempconv, 每個匯入路徑下面可以有多個xx.go檔案, 這樣可以更加使結構清晰
package main
import
("fmt"
"os"
"strconv"
"gopl/ch2/tempconv"
)func
main()
f := tempconv.
fahrenheit
(t) c := tempconv.
celsius
(t) fmt.
printf
("%s = %s, %s = %s\n"
, f, tempconv.
ftoc
(f), c, tempconv.
ctof
(c))
}}
執行路徑:
$gopath/src/gopl/ch2/cf
執行命令:
$ go run cf.
go32
212-
40
執行結果: Python基礎 閉包和檔案
期末筆記後期整理,如有問題,請多多指教。1 三個條件 存在於巢狀關係的函式中 巢狀的內部函式引用了外部函式的變數 巢狀的外部函式會將內部函式名作為返回值返回。def outer start 0 count start def inner count 0 1 return count 0 return...
Go語言包和檔案
go語言工作空間 編譯工具對原始碼目錄有嚴格要求,每個工作空間 workspace 必須由bin pkg src三個目錄組成。src 專案原始碼目錄,裡面每乙個子目錄,就是乙個包,包內是go語言的原始碼檔案。pkg go語言編譯的.a 中間檔案存放目錄,可自動生成。bin go語言編譯可執行檔案存放...
Python自學筆記 14 檔案和檔案物件
我在學習linux的檔案時,總結了乙個規律。面對乙個檔案時,要操作這個檔案首先就要開啟這個檔案,然後對其進行讀寫。當然這個讀寫的方式卻有很多。python內建了讀寫檔案的函式,用法和c是相容的。在python內建的函式open用於開啟和建立檔案物件,如下所示 fd open path 開啟檔案 pa...