1.每個包都有乙個全域性唯一的匯入路徑
2.按照慣例,乙個包的名字和包的匯入路徑的最後乙個字段相同
練習 2.2: 寫乙個通用的單位轉換程式,用類似cf程式的方式從命令列讀取引數,如果預設的話則是從標準輸入讀取引數,然後做類似celsius和fahrenheit的單位轉換,長度單位可以對應英呎和公尺,重量單位可以對應磅和公斤等。
1.建立目錄mkdir /home/ubuntu/gobook/src/unitconv/
2.目錄下建立包原始檔unitconv.go
包檔案unitconv.go
package unitconv主程式unit.goimport(
"fmt"
)//定義型別
type foot float64
type meter float64
/*公尺轉換成英呎
*/func mtof(m meter) foot
/*英呎轉換成公尺
*/func ftom(f foot) meter
/*型別的string方法
*/func (f foot)string() string
/*型別的string方法
*/func (m meter)string() string
package mainimport(
"unitconv"
"fmt"
"strconv"
"os"
"bufio"
)func main()
conv(v)
}
//判斷是否有命令列傳參
if flag!=0
//從標準輸入讀
fmt.print("請輸入數字:")
input := bufio.newscanner(os.stdin)
input.scan()
unitstr := input.text()
conv(unitstr)}/*
轉換函式
日常 Go語言聖經 包和檔案 包初始化習題
1.解決包級變數的依賴順序,然後按照包級變數宣告出現的順序依次初始化 2.包中含有多個.go原始檔,它們將按照發給編譯器的順序進行初始化 3.init初始化函式,在每個檔案中的init初始化函式,在程式開始執行時按照它們宣告的順序被自動呼叫 4.每個包在解決依賴的前提下,以匯入宣告的順序初始化,每個...
Go語言包和檔案
go語言工作空間 編譯工具對原始碼目錄有嚴格要求,每個工作空間 workspace 必須由bin pkg src三個目錄組成。src 專案原始碼目錄,裡面每乙個子目錄,就是乙個包,包內是go語言的原始碼檔案。pkg go語言編譯的.a 中間檔案存放目錄,可自動生成。bin go語言編譯可執行檔案存放...
日常 Go語言聖經 Map習題
練習 4.8 修改charcount程式,使用unicode.isletter等相關的函式,統計字母 數字等unicode中不同的字元類別。練習 4.9 編寫乙個程式wordfreq程式,報告輸入文字中每個單詞出現的頻率。在第一次呼叫scan前先呼叫input.split bufio.scanwor...