package main import ( "fmt" "os" "strconv" ) type Feet float64 type Meter float64 func main() { var transType string = os.Args[2] var transferObject string = os.Args[1] parseObj, _ := strconv.ParseFloat(transferObject, 64) if transType == "feet" { // transfer to meter fmt.Println(toFeet(Meter(parseObj))) } else { fmt.Println(toMeter(Feet(parseObj))) } } func toMeter(feet Feet) Meter { return Meter(feet * 0.3048) } func toFeet(meter Meter) Feet { return Feet(meter * 1 / 0.3048) } // 保存后 go run test.go 1 feet 輸出1米=多少英尺
補(bǔ)充:golang go語言中 對文件大小字節(jié)單位的換算 EB TB GB MB KB B 保留小數(shù)
// 字節(jié)的單位轉(zhuǎn)換 保留兩位小數(shù) func formatFileSize(fileSize int64) (size string) { if fileSize 1024 { //return strconv.FormatInt(fileSize, 10) + "B" return fmt.Sprintf("%.2fB", float64(fileSize)/float64(1)) } else if fileSize (1024 * 1024) { return fmt.Sprintf("%.2fKB", float64(fileSize)/float64(1024)) } else if fileSize (1024 * 1024 * 1024) { return fmt.Sprintf("%.2fMB", float64(fileSize)/float64(1024*1024)) } else if fileSize (1024 * 1024 * 1024 * 1024) { return fmt.Sprintf("%.2fGB", float64(fileSize)/float64(1024*1024*1024)) } else if fileSize (1024 * 1024 * 1024 * 1024 * 1024) { return fmt.Sprintf("%.2fTB", float64(fileSize)/float64(1024*1024*1024*1024)) } else { //if fileSize (1024 * 1024 * 1024 * 1024 * 1024 * 1024) return fmt.Sprintf("%.2fEB", float64(fileSize)/float64(1024*1024*1024*1024*1024)) } }
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
標(biāo)簽:雞西 梅河口 重慶 蘭州 欽州 銅川 汕頭 吐魯番
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go 實(shí)現(xiàn)英尺和米的簡單單位換算方式》,本文關(guān)鍵詞 實(shí)現(xiàn),英尺,和,米,的,簡單,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。