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 http使用踩过的坑与填坑指南
Apr 27 Golang
Golang 空map和未初始化map的注意事项说明
Apr 29 Golang
golang 在windows中设置环境变量的操作
Apr 29 Golang
go类型转换及与C的类型转换方式
May 05 Golang
golang中的并发和并行
May 08 Golang
Golang全局变量加锁的问题解决
May 08 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
Go 语言中 20 个占位符的整理
Oct 16 Golang
Golang使用Panic与Recover进行错误捕获
Mar 22 Golang
Golang获取List列表元素的四种方式
Apr 20 Golang
Golang 切片(Slice)实现增删改查
Apr 22 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判断浏览器、判断语言代码分享
2015/03/05 PHP
phpcms手机内容页面添加上一篇和下一篇
2015/06/05 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
PHP7 参数处理机制修改
2021/03/09 PHP
使用GruntJS链接与压缩多个JavaScript文件过程详解
2013/08/02 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
jQuery中on方法使用注意事项详解
2017/02/15 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
用python记录运行pid,并在需要时kill掉它们的实例
2017/01/16 Python
python实现12306火车票查询器
2017/04/20 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
增大python字体的方法步骤
2020/07/05 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
大学生个人实习的自我评价
2014/02/15 职场文书
低碳生活倡议书
2014/04/14 职场文书
《画风》教学反思
2014/04/16 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
英语导游词
2015/02/13 职场文书
个人求职意向书
2015/05/11 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS