Go 實(shí)現(xiàn)英尺和米的簡(jiǎ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米=多少英尺
補(bǔ)充:golang go語(yǔ)言中 對(duì)文件大小字節(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ò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang 標(biāo)準(zhǔn)庫(kù) tips之waitgroup詳解
本篇文章給大家介紹Golang 標(biāo)準(zhǔn)庫(kù) tips之waitgroup的相關(guān)知識(shí),包括使用 channel 實(shí)現(xiàn) WaitGroup 的功能介紹,感興趣的朋友跟隨小編一起看看吧2021-07-07
Go語(yǔ)言基本的語(yǔ)法和內(nèi)置數(shù)據(jù)類型初探
這篇文章主要介紹了Go語(yǔ)言基本的語(yǔ)法和內(nèi)置數(shù)據(jù)類型,是golang入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-10-10
Go語(yǔ)言使用sqlx操作數(shù)據(jù)庫(kù)的示例詳解
sqlx?是?Go?語(yǔ)言中一個(gè)流行的第三方包,它提供了對(duì)?Go?標(biāo)準(zhǔn)庫(kù)?database/sql?的擴(kuò)展,本文重點(diǎn)講解?sqlx?在?database/sql?基礎(chǔ)上擴(kuò)展的功能,希望對(duì)大家有所幫助2023-06-06
Go語(yǔ)言開(kāi)發(fā)kube-scheduler整體架構(gòu)深度剖析
這篇文章主要為大家介紹了Go語(yǔ)言開(kāi)發(fā)kube-scheduler整體架構(gòu)深度剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
golang環(huán)形隊(duì)列實(shí)現(xiàn)代碼示例
這篇文章主要介紹了golang環(huán)形隊(duì)列實(shí)現(xiàn)代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

