Go 實現(xiàn)英尺和米的簡單單位換算方式
更新時間:2021年04月29日 10:10:24 作者:潘廣宇 Leo
這篇文章主要介紹了Go 實現(xiàn)英尺和米的簡單單位換算方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
看代碼吧~
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米=多少英尺
補充: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))
}
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
golang 如何用反射reflect操作結(jié)構(gòu)體
這篇文章主要介紹了golang 用反射reflect操作結(jié)構(gòu)體的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
Golang程序中使用Prometheus的client_golang庫
這篇文章主要介紹了Golang程序中使用Prometheus的client_golang庫,Prometheus 是一個開源的監(jiān)控和警報工具包,用于收集和處理應用程序和系統(tǒng)的指標數(shù)據(jù)。Prometheus 提供了多種客戶端庫,可以輕松地集成到各種編程語言中2023-04-04

