日常 Go語言聖經 包和檔案 匯入包習題

2022-01-30 20:07:39 字數 1141 閱讀 2382

1.每個包都有乙個全域性唯一的匯入路徑

2.按照慣例,乙個包的名字和包的匯入路徑的最後乙個字段相同

練習 2.2: 寫乙個通用的單位轉換程式,用類似cf程式的方式從命令列讀取引數,如果預設的話則是從標準輸入讀取引數,然後做類似celsius和fahrenheit的單位轉換,長度單位可以對應英呎和公尺,重量單位可以對應磅和公斤等。

1.建立目錄mkdir /home/ubuntu/gobook/src/unitconv/

2.目錄下建立包原始檔unitconv.go

包檔案unitconv.go

package unitconv

import(

"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

主程式unit.go

package main

import(

"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...