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 interface判断为空nil的实现代码
Apr 24 Golang
Golang中interface{}转为数组的操作
Apr 30 Golang
Goland使用Go Modules创建/管理项目的操作
May 06 Golang
详解Golang如何优雅的终止一个服务
Mar 21 Golang
Golang 字符串的常见操作
Apr 19 Golang
Golang ort 中的sortInts 方法
Apr 24 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
Go语言入门exec的基本使用
May 20 Golang
GoFrame框架数据校验之校验结果Error接口对象
Jun 21 Golang
Go微服务项目配置文件的定义和读取示例详解
Jun 21 Golang
基于Python实现西西成语接龙小助手
Aug 05 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
Thinkphp无限级分类代码
2015/11/11 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Python的另外几种语言实现
2015/01/29 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
python开发之文件操作用法实例
2015/11/13 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
python爬虫的工作原理
2017/03/05 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
python http基本验证方法
2018/12/26 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
会计专业大学生职业生涯规划书
2014/02/11 职场文书
体育教师自我鉴定
2014/02/12 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
班组长竞聘书
2014/03/31 职场文书
英文投诉信格式
2015/07/03 职场文书
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript