Go 实现英尺和米的简单单位换算方式


Posted in Golang onApril 29, 2021

看代码吧~

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语言中 对文件大小字节单位的换算 EB TB GB MB KB B 保留小数

看代码吧~

// 字节的单位转换 保留两位小数
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))
   }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
Go语言中的UTF-8实现
Apr 26 Golang
Go语言切片前或中间插入项与内置copy()函数详解
Apr 27 Golang
golang http使用踩过的坑与填坑指南
Apr 27 Golang
golang 如何通过反射创建新对象
Apr 28 Golang
Go遍历struct,map,slice的实现
Jun 13 Golang
Go语言实现Base64、Base58编码与解码
Jul 26 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Go语言基础map用法及示例详解
Nov 17 Golang
Golang 字符串的常见操作
Apr 19 Golang
Golang jwt身份认证
Apr 20 Golang
深入理解 Golang 的字符串
May 04 Golang
Go gorilla securecookie库的安装使用详解
Aug 14 Golang
Golang 空map和未初始化map的注意事项说明
彻底理解golang中什么是nil
基于Go Int转string几种方式性能测试
Apr 28 #Golang
Go语言中break label与goto label的区别
golang 如何用反射reflect操作结构体
Apr 28 #Golang
golang 生成对应的数据表struct定义操作
Apr 28 #Golang
golang 如何通过反射创建新对象
Apr 28 #Golang
You might like
文章推荐系统(二)
2006/10/09 PHP
php获取新浪微博数据API实例
2013/11/12 PHP
php防止SQL注入详解及防范
2013/11/12 PHP
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
2012/03/29 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
网页广告中JS代码的信息监听示例
2014/04/02 Javascript
Node.js事件驱动
2015/06/18 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
js阻止冒泡和默认事件(默认行为)详解
2016/10/20 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
python版本的读写锁操作方法
2016/04/25 Python
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
解读! Python在人工智能中的作用
2017/11/14 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
django中的图片验证码功能
2019/09/18 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
总经理职责范文
2013/11/08 职场文书
最新个人职业生涯规划书
2014/01/22 职场文书
庆八一活动方案
2014/01/25 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
业务员岗位职责范本
2015/04/03 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
字节飞书面试promise.all实现示例
2022/06/16 Javascript