• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go语言数据类型值--整型和浮点型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、整型的分类:

  有符号整型:    int8、int16、int32、int64

  对应的无符号整型: uint8、uint16、uint32、uint64

  uint就是我们熟知的byte类型,int16对应C语言的short型,int64对应C语言的long型,Unicode字符的rune类型和int32等价。

  

  哪些情况下使用 int 和 uint

    1.逻辑对整型范围没有特殊需求。

    2.例如,对象的长度使用内建 len() 函数返回,这个长度可以根据不同平台的字节长度进行变化。实际使用中,切片或 map 的元素数量等都可以用 int 来表示。

    3.反之,在二进制传输、读写文件的结构描述时,为了保持文件的结构不会受到不同编译目标平台字节长度的影响,不要使用 int 和 uint。

 

2、整型的运算。

  1.运算符

    下面是关于Go语言中关于算数运算,逻辑运算和比较运算的二元运算符,按照先级递减的顺序排列

    *  /  %  <<  >>  &  &^

    +  -  |   ^

    == !=  <=  >  >=

    &&

    | |

    同一优先级使用左优先结合规则,也可用()提升优先级 

  2.类型转化

    不同类型之间不能进行计算,如想进行计算需先进行类型转换

var    i int32 = 10
var    j int64 = 20
var    w int = i + j        //compile error: misatched types int32 and int64

var    w int = int(i) + int(j)     //30     类型转换后可计算
整型不同类型计算

  3.类型转换后发生值改变的情况

//浮点数转整型,会省略小数点后的值
f := 3.1415
i := int(f)
fmt.Println(f,i)    //  “3.1415  3”


//高位数的整型转低位数的整型会导致值改变
var  i int16 = 26985
var  j int8  = int8(i)
fmt.Println("int16",i)
fmt.Println("int8",j)
转换后值改变

 

二、浮点数 

1、浮点数精度

  float32:常量math.MaxFloat32表示float32能表示的最大数值,大约是3.4e38。大约可以提供6个十进制数的精度。

  float64:对应的常量math.MaxFloat64大约是1.8e308,可以提供十五个十进制数的精度。通常优先使用float64类型。

2、浮点数的打印

  %g  打印浮点数  

  %e  带指数的打印形式(对应表格的数据)

  %f  打印对应表格的数据

package main
import (
    "fmt"
    "math"
)
func main() {
    print_float()
}

func print_float(){
    for x:=0;x<8;x++{
        fmt.Printf("x = %d   e^x = %8.3f\n",x,math.Exp(float64((x))))
    }
}

//  %8.3f     8表示展示数据的宽度,即显示多少个数字,3表示精准度,即小数点后保留几位
//运行结果
//x = 0   e^x =    1.000
//x = 1   e^x =    2.718
//x = 2   e^x =    7.389
//x = 3   e^x =   20.086
//x = 4   e^x =   54.598
//x = 5   e^x =  148.413
//x = 6   e^x =  403.429
//x = 7   e^x = 1096.633
浮点数的打印

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
踩坑Go1.6+install报错go:go.modfilenotfound发布时间:2022-07-10
下一篇:
T-SQL中go的意思发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap