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 相关文章推荐
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
golang在GRPC中设置client的超时时间
Apr 27 Golang
基于Go Int转string几种方式性能测试
Apr 28 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
Golang的继承模拟实例
Jun 30 Golang
golang中字符串MD5生成方式总结
Jul 04 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
深入理解go slice结构
Sep 15 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 Golang
基于Python实现西西成语接龙小助手
Aug 05 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
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
始终在屏幕中间显示Div的代码(css+js)
2011/03/10 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
js实现方块上下左右移动效果
2017/08/17 Javascript
vue短信验证性能优化如何写入localstorage中
2018/04/25 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
[46:28]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python中的列表生成式与生成器学习教程
2016/03/13 Python
Python基于select实现的socket服务器
2016/04/13 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
python对验证码降噪的实现示例代码
2019/11/12 Python
django 外键创建注意事项说明
2020/05/20 Python
详解用 python-docx 创建浮动图片
2021/01/24 Python
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
英国门把手公司:Door Handle Company
2019/05/12 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
sealed修饰符是干什么的
2012/10/23 面试题
自我评价格式
2014/01/06 职场文书
农村结婚典礼司仪主持词
2014/03/14 职场文书
财务管理专业自荐书
2014/09/02 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
Django实现翻页的示例代码
2021/05/24 Python