• Go语言趣学指南lesson6


    实数

    本章学习目标

    1、学会用两种不同的类型表示实数

    2、学会在内存占用和精确度之间进行取舍

    go语言中实数就是表示为浮点数

    声明浮点数类型

    • 下面三个语句的效果一样

      package main
      
      import (
      	"fmt"
      )
      
      func main() {
      	day1 := 365.2425
      	var day2 = 365.2425
      	var day3 float64 = 365.2425
      	fmt.Printf("day1=%v\nday2=%v\nday3=%v\n", day1, day2, day3)
      }
      
      
      执行结果:
      
      day1=365.2425
      day2=365.2425
      day3=365.2425
      
    • 可以看出只要数字含有小数部分,那么它的类型就是float64

    • 如果使用一个整数来初始化某个变量,那么你必须指定它的类型为float64,否则它就是一个整数类型

    浮点数类型

    • Go语言中有两种浮点数类型
    • 默认是float64
      • 64位的浮点类型占用8字节
      • 有些编程语言称为双精度
    • float32
      • 占用4字节
      • 精度比float64低
      • 有时叫做单精度类型
      • 声明时需要指定float32 例如 var pi32 float32 = math.Pi

    单双精度的使用场景

    当处理大量数据时,例如游戏,使用float32牺牲精度换内存很有意义。

    浮点类型不适合金融计算。

    零值

    Go里面每个类型都有一个默认值称为零值,当你声明变量后不对它赋值,它值也叫做零值。

    显示浮点类型(%f)

    • 使用Print或者Println打印浮点类型的时候,默认行为是尽可能的多显示几位小数;

    • 如果不想这样,那么你应该使用Printf函数,结合%f格式化动词来指定显示小数的位数

    • package main
      
      import (
      	"fmt"
      )
      
      func main() {
      	third := 1.0 / 3
      	fmt.Println(third)
      	fmt.Printf("%v\n", third)    //%v 默认支持所以类型的格式化
      	fmt.Printf("%f\n", third)    //%f 浮点类型格式化
      	fmt.Printf("%.3f\n", third)  // %3.f显示3位小数
      	fmt.Printf("%4.2f\n", third) //%4.2f 总长为4、小数2位,包含小数点
      	fmt.Printf("%06.2f\n", third) //%06.2f 不足的位由0代替,默认是空格
      }
      
      
      
      执行结果:
      
      0.3333333333333333
      0.3333333333333333
      0.333333
      0.333
      0.33
      000.33
      
  • 相关阅读:
    [Cisco答疑]思科产品常见问题问答大汇总
    英语名人名言
    [配置实例]三层交换机组播配置实例
    利用VLAN技术组建三层线速校园网
    神州数码交换机配置基本命令
    SQL命令大全中英文对照
    SQL通用防注入系统3.1 最终纪念版
    带关闭按钮的浮动窗口
    Document方法对比
    HTML元素参考手册
  • 原文地址:https://www.cnblogs.com/walker1024/p/14171212.html
Copyright © 2020-2023  润新知